<script>window.pathPrefix="../../";</script><!DOCTYPE html>
<html lang="en" style="padding-bottom:0px" class="local"></html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <link href="../../images/favicon.png" rel="shortcut icon" type="image/png">
  <title>DJI Mobile SDK Documentation
  </title>
<link rel="stylesheet" href="../../stylesheets/doc-vendor.css">

<link rel="stylesheet" href="../../stylesheets/doc-app.css">

<meta name="generator" content="Hexo 5.4.2"></head>
<body>
  <nav id="site-header" class="site-header navbar">
    <div class="container">
      <div class="navbar-header"><a href="/" class="logo"><img src="../../images/dji-logo@2x.png">Android SDK API Reference</a></div>
    </div>
  </nav>
  <div id="documentation-page" class="documentation-page">
    <div class="container">
      <div class="site-sidebar">
        <div class="searcher">
          <div id="panel" class="panel panel_tree">
            <div class="header">
              <div class="search-con">
                <label id="search-label" for="search">
                </label>
                <input id="search" type="text" placeholder="Search" autosave="searchdoc" results="10" autocomplete="off">
                <div class="search-icon"></div><a class="clean-search glyphicon glyphicon-remove-circle"></a>
              </div>
            </div>
            <div class="tree">
              <ul></ul>
            </div>
            <div class="result">
              <ul></ul>
            </div>
          </div>
        </div>
        <div class="nav scrollable js-tree-menu">
          <dl>
            <dt>Manager Classes
            </dt>
                  <dd><a data-href="../SDKManager/DJISDKManager.html" class="sub-toggle">ISDKManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../SDKManager/ISDKManager_SDKManagerCallback.html">SDKManagerCallback</a>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="IKeyManager.html" class="sub-toggle">IKeyManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a data-href="KeyTools.html" class="sub-toggle">KeyTools<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a href="DJIKeyInfo.html">DJIKeyInfo&lt;T&gt;</a>
                                      </dd>
                              </ul>
                            </dd>
                            <dd><a href="IKeyManager_KeyListener.html">KeyListener&lt;T&gt;</a>
                            </dd>
                            <dd><a data-href="DJIKey.html" class="sub-toggle">DJIKey&lt;T&gt;<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a href="Key_Product_ProductKey.html">ProductKey</a>
                                      </dd>
                                      <dd><a href="Key_Airlink_AirlinkKey.html">AirLinkKey</a>
                                      </dd>
                                      <dd><a href="Key_Camera_CameraKey.html">CameraKey</a>
                                      </dd>
                                      <dd><a href="Key_Gimbal_GimbalKey.html">GimbalKey</a>
                                      </dd>
                                      <dd><a href="" class="active">FlightControllerKey</a>
                                      </dd>
                                      <dd><a href="Key_RemoteController_RemoteControllerKey.html">RemoteControllerKey</a>
                                      </dd>
                                      <dd><a href="Key_Battery_BatteryKey.html">BatteryKey</a>
                                      </dd>
                              </ul>
                            </dd>
                            <dd><a data-href="DJIValue.html" class="sub-toggle">DJIValue<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a href="Value_FlightController_LightGimbalTotalAdjustInfo.html">LightGimbalTotalAdjustInfo</a>
                                      </dd>
                                      <dd><a href="Value_Gimbal_Struct_GimbalCalibrationState.html">GimbalCalibrationStatusInfo</a>
                                      </dd>
                                      <dd><a href="Value_Gimbal_Struct_GimbalAttitudeRange.html">GimbalAttitudeRange</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_LightGimbalAdjustInfo.html">LightGimbalAdjustInfo</a>
                                      </dd>
                                      <dd><a href="Value_Gimbal_Struct_GimbalAngleRotation.html">GimbalAngleRotation</a>
                                      </dd>
                                      <dd><a href="Value_Gimbal_Struct_GimbalSpeedRotation.html">GimbalSpeedRotation</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_DateTime.html">DateTime</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_CameraHybridZoomSpec.html">CameraHybridZoomSpec</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_VideoResolutionFrameRate.html">VideoResolutionFrameRate</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_MSDKZoomRatiosRange.html">ZoomRatiosRange</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_VideoPreRecordDurationMsg.html">VideoPreRecordDurationInfo</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_VideoRecordPlanMsg.html">VideoRecordPlanInfo</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_LaserMeasureInformationMsg.html">LaserMeasureInformation</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_MultiSpectralFusionDisplayRangeMsg.html">MultiSpectralFusionDisplayRange</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_IsRecordingInfoMsg.html">VideoRecordingStatus</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_MSDKCameraStreamSettings.html">CameraStreamSettingsInfo</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_CameraWhiteBalance.html">CameraWhiteBalanceInfo</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_CameraWatermarkSettings.html">CameraWatermarkSettings</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_CustomExpandNameSettings.html">CustomExpandNameSettings</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_WatermarkDisplayContentSettings.html">WatermarkDisplayContentSettings</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_ZoomPointTargetMsg.html">ZoomTargetPointInfo</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_ThermalGainModeTemperatureRangeMsg.html">ThermalGainModeTemperatureRange</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_GeneratedMediaFileInfo.html">GeneratedMediaFileInfo</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_CameraStorageInfos.html">CameraStorageInfos</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_PhotoIntervalShootSettings.html">PhotoIntervalShootSettings</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_CameraStorageInfo.html">CameraStorageInfo</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_SuperResolutionStateMsg.html">SuperResolutionInfo</a>
                                      </dd>
                                      <dd><a href="Value_Camera_Struct_ThermalAreaTemperatureAggregationsMsg.html">ThermalAreaMetersureTemperature</a>
                                      </dd>
                                      <dd><a href="Value_Common_Struct_DoubleRect.html">DoubleRect</a>
                                      </dd>
                                      <dd><a href="Value_Common_Struct_Date.html">Date</a>
                                      </dd>
                                      <dd><a href="Value_Common_Struct_Velocity3D.html">Velocity3D</a>
                                      </dd>
                                      <dd><a href="Value_Common_Struct_IntValueConfig.html">IntValueConfig</a>
                                      </dd>
                                      <dd><a href="Value_Common_Struct_RectF.html">DoubleRect4Sides</a>
                                      </dd>
                                      <dd><a href="Value_Common_Struct_Attitude.html">Attitude</a>
                                      </dd>
                                      <dd><a href="Value_Common_Struct_DoubleMinMax.html">DoubleMinMax</a>
                                      </dd>
                                      <dd><a href="Value_Common_Struct_LocationCoordinate3D.html">LocationCoordinate3D</a>
                                      </dd>
                                      <dd><a href="Value_Common_Struct_RCAuthorityModeMsg.html">MultiControlAuthorityTypeInfo</a>
                                      </dd>
                                      <dd><a href="Value_Common_Struct_DoublePoint2D.html">DoublePoint2D</a>
                                      </dd>
                                      <dd><a href="Value_Common_Struct_RCAuthorityLockControlMsg.html">MultiControlLockAuthorityInfo</a>
                                      </dd>
                                      <dd><a href="Value_Common_Struct_LocationCoordinate2D.html">LocationCoordinate2D</a>
                                      </dd>
                                      <dd><a href="Value_RemoteController_Struct_RcParamChargeRemainingInfo.html">BatteryInfo</a>
                                      </dd>
                                      <dd><a href="Value_RemoteController_Struct_RcMultiStatusMsg.html">MultiControlStatusInfo</a>
                                      </dd>
                                      <dd><a href="Value_RemoteController_Struct_RCAuthorityLostPushMsg.html">MultiControlLostControlInfo</a>
                                      </dd>
                                      <dd><a href="Value_RemoteController_Struct_RcFirmwareInfo.html">RcFirmwareInfo</a>
                                      </dd>
                                      <dd><a href="Value_RemoteController_Struct_MultiRCFlightControlAuthOwnerMsg.html">MultiControlFlightControlAuthorityOwnerInfo</a>
                                      </dd>
                                      <dd><a href="Value_RemoteController_Struct_RCModeChannelTypeMsg.html">MultiControlChannelInfo</a>
                                      </dd>
                                      <dd><a href="Value_RemoteController_Struct_RcFiveDimensionPressedStatus.html">FiveDimensionPressedStatus</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_LookAtInfo.html">LookAtInfo</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_Struct_MultiGimbalSyncControlMsg.html">MultiGimbalSyncControlInfo</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_Struct_GoHomeAssessment.html">LowBatteryRTHInfo</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_Struct_MultiGimbalSyncStatus.html">MultiGimbalSyncStatus</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_Struct_IMUCalibrationHint.html">IMUCalibrationInfo</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_GoHomeInfo.html">GoHomeInfo</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_Struct_LEDsSettings.html">LEDsSettings</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_Struct_AccessLockerV1VerifyUserAccountInfo.html">AccessLockerVerifySecurityCodeInfo</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_Struct_AccessLockerV1DeviceState.html">AccessLockerDeviceStatus</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_Struct_AccessLockerV1EncryptionState.html">AccessLockerEncryptionStatus</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_Struct_AccessLockerV1ModifyUserAccountInfo.html">AccessLockerModifySecurityCodeInfo</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_Struct_AccessLockerV1ResetUserAccountInfo.html">AccessLockerResetSecurityCodeInfo</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_Struct_AccessLockerV1SetupUserAccountInfo.html">AccessLockerSetSecurityCodeInfo</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_Struct_AirSenseAirplaneState.html">AirSenseAirplaneState</a>
                                      </dd>
                                      <dd><a href="Value_FlightController_Struct_AirSenseSystemInformation.html">AirSenseSystemInformation</a>
                                      </dd>
                                      <dd><a href="Value_Battery_Struct_BatteryLedsControlMsg.html">BatteryLedsInfo</a>
                                      </dd>
                                      <dd><a href="Value_Accessory_Struct_PlayingAudioFileInfo.html">PlayingAudioFileInfo</a>
                                      </dd>
                                      <dd><a href="Value_Airlink_Struct_FrequencyInterference.html">FrequencyInterferenceInfo</a>
                                      </dd>
                                      <dd><a href="Value_Airlink_Struct_WlmLinkQualityMsg.html">WlmLinkQualityLevelInfo</a>
                                      </dd>
                                      <dd><a href="Value_Airlink_Struct_WlmDongleState.html">WlmDongleInfo</a>
                                      </dd>
                                      <dd><a href="Value_Airlink_Struct_WlmDongleInfoMsg.html">WlmDongleListInfo</a>
                                      </dd>
                              </ul>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../IUserAccountManager/IUserAccountManager.html" class="sub-toggle">IUserAccountManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../IUserAccountManager/IUserAccountManager_LoginInfo.html">LoginInfo</a>
                            </dd>
                            <dd><a href="../IUserAccountManager/IUserAccountManager_LoginInfoUpdateListener.html">LoginInfoUpdateListener</a>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../ISimulatorManager/ISimulatorManager.html" class="sub-toggle">ISimulatorManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../ISimulatorManager/ISimulatorManager_InitializationSettings.html">InitializationSettings</a>
                            </dd>
                            <dd><a href="../ISimulatorManager/ISimulatorManager_SimulatorStatusListener.html">SimulatorStatusListener</a>
                            </dd>
                            <dd><a href="../ISimulatorManager/ISimulatorManager_SimulatorState.html">SimulatorState</a>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../IMediaDataCenter/IMediaDataCenter.html" class="sub-toggle">IMediaDataCenter<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a data-href="../IMediaDataCenter/IVideoStreamManager.html" class="sub-toggle">IVideoStreamManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a data-href="../IMediaDataCenter/IVideoStreamManager_StreamSource.html" class="sub-toggle">StreamSource<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                                        <ul class="sub-menu">
                                                <dd><a href="../IMediaDataCenter/IVideoStreamManager_StreamSource_PhysicalDeviceType.html">PhysicalDeviceType</a>
                                                </dd>
                                        </ul>
                                      </dd>
                                      <dd><a data-href="../IMediaDataCenter/IVideoStreamManager_IVideoChannel.html" class="sub-toggle">IVideoChannel<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                                        <ul class="sub-menu">
                                                <dd><a href="../IMediaDataCenter/IVideoStreamManager_IVideoChannel_VideoChannelStateChangeListener.html">VideoChannelStateChangeListener</a>
                                                </dd>
                                        </ul>
                                      </dd>
                                      <dd><a href="../IMediaDataCenter/IVideoStreamManager_IVideoFrame.html">IVideoFrame</a>
                                      </dd>
                                      <dd><a data-href="../IMediaDataCenter/IVideoStreamManager_IVideoDecoder.html" class="sub-toggle">IVideoDecoder<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                                        <ul class="sub-menu">
                                                <dd><a href="../IMediaDataCenter/IVideoStreamManager_IVideoDecoder_YuvDataListener.html">YuvDataListener</a>
                                                </dd>
                                                <dd><a href="../IMediaDataCenter/IVideoStreamManager_IVideoDecoder_DecoderStateChangeListener.html">DecoderStateChangeListener</a>
                                                </dd>
                                        </ul>
                                      </dd>
                                      <dd><a href="../IMediaDataCenter/IVideoStreamManager_StreamSourceListener.html">StreamSourceListener</a>
                                      </dd>
                              </ul>
                            </dd>
                            <dd><a data-href="../IMediaDataCenter/ICameraStreamManager.html" class="sub-toggle">ICameraStreamManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a href="../IMediaDataCenter/ICameraStreamManager_StreamInfo.html">StreamInfo</a>
                                      </dd>
                                      <dd><a href="../IMediaDataCenter/ICameraStreamManager_PinPointInfo.html">PinPointInfo</a>
                                      </dd>
                                      <dd><a href="../IMediaDataCenter/ICameraStreamManager_PinPoint.html">PinPoint</a>
                                      </dd>
                              </ul>
                            </dd>
                            <dd><a data-href="../IMediaDataCenter/IMediaManager.html" class="sub-toggle">IMediaManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a data-href="../IMediaDataCenter/IMediaManager_MediaFileListDataSource.html" class="sub-toggle">MediaFileListDataSource<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                                        <ul class="sub-menu">
                                                <dd><a href="../IMediaDataCenter/IMediaManager_MediaFileListDataSource_Builder.html">Builder</a>
                                                </dd>
                                        </ul>
                                      </dd>
                                      <dd><a data-href="../IMediaDataCenter/IMediaManager_PullMediaFileListParam.html" class="sub-toggle">PullMediaFileListParam<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                                        <ul class="sub-menu">
                                                <dd><a href="../IMediaDataCenter/IMediaManager_PullMediaFileListParam_Builder.html">Builder</a>
                                                </dd>
                                        </ul>
                                      </dd>
                                      <dd><a href="../IMediaDataCenter/IMediaManager_MediaFileListData.html">MediaFileListData</a>
                                      </dd>
                                      <dd><a href="../IMediaDataCenter/IMediaManager_MediaFile.html">MediaFile</a>
                                      </dd>
                                      <dd><a href="../IMediaDataCenter/IMediaManager_MediaFileListStateListener.html">MediaFileListStateListener</a>
                                      </dd>
                                      <dd><a href="../IMediaDataCenter/IMediaManager_VideoPlayStatus.html">VideoPlayStatus</a>
                                      </dd>
                                      <dd><a href="../IMediaDataCenter/IMediaManager_VideoPlayStateListener.html">VideoPlayStateListener</a>
                                      </dd>
                                      <dd><a href="../IMediaDataCenter/IMediaManager_MediaFileDownloadListener.html">MediaFileDownloadListener</a>
                                      </dd>
                                      <dd><a href="../IMediaDataCenter/IMediaManager_MediaFrameListener.html">MediaFrameListener</a>
                                      </dd>
                              </ul>
                            </dd>
                            <dd><a data-href="../IMediaDataCenter/ILiveStreamManager.html" class="sub-toggle">ILiveStreamManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a data-href="../IMediaDataCenter/ILiveStreamManager_LiveStreamSettings.html" class="sub-toggle">LiveStreamSettings<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                                        <ul class="sub-menu">
                                                <dd><a href="../IMediaDataCenter/ILiveStreamManager_LiveStreamSettings_Builder.html">Builder</a>
                                                </dd>
                                        </ul>
                                      </dd>
                                      <dd><a data-href="../IMediaDataCenter/ILiveStreamManager_LiveStreamSettings_RtspSettings.html" class="sub-toggle">RtspSettings<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                                        <ul class="sub-menu">
                                                <dd><a href="../IMediaDataCenter/ILiveStreamManager_LiveStreamSettings_RtspSettings_Builder.html">Builder</a>
                                                </dd>
                                        </ul>
                                      </dd>
                                      <dd><a data-href="../IMediaDataCenter/ILiveStreamManager_LiveStreamSettings_RtmpSettings.html" class="sub-toggle">RtmpSettings<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                                        <ul class="sub-menu">
                                                <dd><a href="../IMediaDataCenter/ILiveStreamManager_LiveStreamSettings_RtmpSettings_Builder.html">Builder</a>
                                                </dd>
                                        </ul>
                                      </dd>
                                      <dd><a data-href="../IMediaDataCenter/ILiveStreamManager_LiveStreamSettings_GB28181Settings.html" class="sub-toggle">GB28181Settings<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                                        <ul class="sub-menu">
                                                <dd><a href="../IMediaDataCenter/ILiveStreamManager_LiveStreamSettings_GB28181Settings_Builder.html">Builder</a>
                                                </dd>
                                        </ul>
                                      </dd>
                                      <dd><a data-href="../IMediaDataCenter/ILiveStreamManager_LiveStreamSettings_AgoraSettings.html" class="sub-toggle">AgoraSettings<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                                        <ul class="sub-menu">
                                                <dd><a href="../IMediaDataCenter/ILiveStreamManager_LiveStreamSettings_AgoraSettings_Builder.html">Builder</a>
                                                </dd>
                                        </ul>
                                      </dd>
                                      <dd><a href="../IMediaDataCenter/ILiveStreamManager_LiveStreamStatus.html">LiveStreamStatus</a>
                                      </dd>
                                      <dd><a href="../IMediaDataCenter/ILiveStreamManager_VideoResolution.html">VideoResolution</a>
                                      </dd>
                                      <dd><a href="../IMediaDataCenter/ILiveStreamManager_LiveStreamStatusListener.html">LiveStreamStatusListener</a>
                                      </dd>
                              </ul>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../IWaypointMissionManager/IWaypointMissionManager.html" class="sub-toggle">IWaypointMissionManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../IWaypointMissionManager/IWaypointMissionManager_WaypointMissionExecuteStateListener.html">WaypointMissionExecuteStateListener</a>
                            </dd>
                            <dd><a href="../IWaypointMissionManager/IWaypointMissionManager_WaylineExecutingInfoListener.html">WaylineExecutingInfoListener</a>
                            </dd>
                            <dd><a href="../IWaypointMissionManager/IWaypointMissionManager_WaypointActionListener.html">WaypointActionListener</a>
                            </dd>
                            <dd><a href="../IWaypointMissionManager/IWaypointMissionManager_WaylineExecutingInfo.html">WaylineExecutingInfo</a>
                            </dd>
                            <dd><a href="../IWaypointMissionManager/IWaypointMissionManager_BreakPointInfo.html">BreakPointInfo</a>
                            </dd>
                            <dd><a href="../IWaypointMissionManager/IWPMZManager.html">IWPMZManager</a>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../IVirtualStickManager/IVirtualStickManager.html" class="sub-toggle">IVirtualStickManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../IVirtualStickManager/IVirtualStickManager_DJIStick.html">IStick</a>
                            </dd>
                            <dd><a href="../IVirtualStickManager/IVirtualStickManager_VirtualStickStateListener.html">VirtualStickStateListener</a>
                            </dd>
                            <dd><a data-href="../IVirtualStickManager/Value_FlightController_Struct_VirtualStickFlightControlParam.html" class="sub-toggle">VirtualStickFlightControlParam<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a href="../IVirtualStickManager/IVirtualStickManager_VirtualStickRange.html">VirtualStickRange</a>
                                      </dd>
                              </ul>
                            </dd>
                            <dd><a href="../IVirtualStickManager/IVirtualStickManager_VirtualStickState.html">VirtualStickState</a>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../IIntelligentFlightManager/IIntelligentFlightManager.html" class="sub-toggle">IIntelligentFlightManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_IntelligentFlightInfoListener.html">IntelligentFlightInfoListener</a>
                            </dd>
                            <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_AutoSensingInfoListener.html">AutoSensingInfoListener</a>
                            </dd>
                            <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_IntelligentFlightInfo.html">IntelligentFlightInfo</a>
                            </dd>
                            <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_AutoSensingInfo.html">AutoSensingInfo</a>
                            </dd>
                            <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_AutoSensingTarget.html">AutoSensingTarget</a>
                            </dd>
                            <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_IntelligentModel.html">IntelligentModel</a>
                            </dd>
                            <dd><a data-href="../IIntelligentFlightManager/IIntelligentFlightManager_ISmartTrackMissionManager.html" class="sub-toggle">ISmartTrackMissionManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_SmartTrackMissionManager_SmartTrackCapability.html">SmartTrackCapability</a>
                                      </dd>
                                      <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_SmartTrackMissionManager_SmartTrackInfo.html">SmartTrackInfo</a>
                                      </dd>
                                      <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_SmartTrackMissionManager_SmartTrackParam.html">SmartTrackParam</a>
                                      </dd>
                                      <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_SmartTrackMissionManager_SmartTrackTarget.html">SmartTrackTarget</a>
                                      </dd>
                              </ul>
                            </dd>
                            <dd><a data-href="../IIntelligentFlightManager/IIntelligentFlightManager_ISpotLightManager.html" class="sub-toggle">ISpotLightManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_SpotLightManager_SpotLightCapability.html">SpotLightCapability</a>
                                      </dd>
                                      <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_SpotLightManager_SpotLightTarget.html">SpotLightTarget</a>
                                      </dd>
                              </ul>
                            </dd>
                            <dd><a data-href="../IIntelligentFlightManager/IIntelligentFlightManager_IPOIMissionManager.html" class="sub-toggle">IPOIMissionManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_POIMissionManager_POICapability.html">POICapability</a>
                                      </dd>
                                      <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_POIMissionManager_POIInfo.html">POIInfo</a>
                                      </dd>
                                      <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_POIMissionManager_POIParam.html">POIParam</a>
                                      </dd>
                                      <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_POIMissionManager_POITarget.html">POITarget</a>
                                      </dd>
                              </ul>
                            </dd>
                            <dd><a data-href="../IIntelligentFlightManager/IIntelligentFlightManager_IFlyToMissionManager.html" class="sub-toggle">IFlyToMissionManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_FlyToMissionManager_FlyToCapability.html">FlyToCapability</a>
                                      </dd>
                                      <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_FlyToMissionManager_FlyToInfo.html">FlyToInfo</a>
                                      </dd>
                                      <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_FlyToMissionManager_FlyToParam.html">FlyToParam</a>
                                      </dd>
                                      <dd><a href="../IIntelligentFlightManager/IIntelligentFlightManager_FlyToMissionManager_FlyToTarget.html">FlyToTarget</a>
                                      </dd>
                              </ul>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../IPerceptionManager/IPerceptionManager.html" class="sub-toggle">IPerceptionManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../IPerceptionManager/IPerceptionManager_PerceptionInfo.html">PerceptionInfo</a>
                            </dd>
                            <dd><a href="../IPerceptionManager/IPerceptionManager_PerceptionInformationListener.html">PerceptionInformationListener</a>
                            </dd>
                            <dd><a href="../IPerceptionManager/IPerceptionManager_ObstacleData.html">ObstacleData</a>
                            </dd>
                            <dd><a href="../IPerceptionManager/IPerceptionManager_ObstacleDataListener.html">ObstacleDataListener</a>
                            </dd>
                            <dd><a data-href="../IPerceptionManager/IRadarManager.html" class="sub-toggle">IRadarManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a href="../IPerceptionManager/IRadarManager_RadarInformation.html">RadarInformation</a>
                                      </dd>
                                      <dd><a href="../IPerceptionManager/IRadarManager_RadarInformationListener.html">RadarInformationListener</a>
                                      </dd>
                              </ul>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../IRTKCenter/IRTKCenter.html" class="sub-toggle">IRTKCenter<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a data-href="../IRTKCenter/INetworkRTKManager.html" class="sub-toggle">INetworkRTKManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a href="../IRTKCenter/INetworkRTKManager_NetworkServiceInfoListener.html">INetworkServiceInfoListener</a>
                                      </dd>
                                      <dd><a href="../IRTKCenter/Value_RtkBaseStation_Struct_RTKCustomNetworkSetting.html">RTKCustomNetworkSetting</a>
                                      </dd>
                              </ul>
                            </dd>
                            <dd><a data-href="../IRTKCenter/IRTKStationManager.html" class="sub-toggle">IRTKStationManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a href="../IRTKCenter/Value_RtkBaseStation_Struct_RTKBaseStationConnectInfo.html">RTKStationInfo</a>
                                      </dd>
                                      <dd><a href="../IRTKCenter/IRTKStationManager_ConnectedTKStationInfo.html">ConnectedRTKStationInfo</a>
                                      </dd>
                                      <dd><a href="../IRTKCenter/IRTKStationManager_SearchStationListener.html">SearchRTKStationListener</a>
                                      </dd>
                                      <dd><a href="../IRTKCenter/IRTKStationManager_RTKStationConnectStatusListener.html">RTKStationConnectStatusListener</a>
                                      </dd>
                                      <dd><a href="../IRTKCenter/IRTKStationManager_ConnectedRTKStationInfoListener.html">ConnectedRTKStationInfoListener</a>
                                      </dd>
                              </ul>
                            </dd>
                            <dd><a href="../IRTKCenter/IRTKCenter_RTKLocationInfo.html">RTKLocationInfo</a>
                            </dd>
                            <dd><a href="../IRTKCenter/Value_RtkMobileStation_Struct_RTKLocation.html">RTKLocation</a>
                            </dd>
                            <dd><a href="../IRTKCenter/RTKCenter_RTKSystemState.html">RTKSystemState</a>
                            </dd>
                            <dd><a href="../IRTKCenter/Value_RtkMobileStation_Struct_RTKSatelliteInfo.html">RTKSatelliteInfo</a>
                            </dd>
                            <dd><a href="../IRTKCenter/Value_RtkMobileStation_Struct_RTKReceiverInfo.html">RTKReceiverInfo</a>
                            </dd>
                            <dd><a href="../IRTKCenter/IRTKCenter_RTKLocationInfoListener.html">RTKLocationInfoListener</a>
                            </dd>
                            <dd><a href="../IRTKCenter/IRTKCenter_RTKSystemStateListener.html">RTKSystemStateListener</a>
                            </dd>
                            <dd><a href="../IRTKCenter/IRTKCenter_RTKBaseListener.html">RTKBaseListener&lt;T&gt;</a>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../IFlyZoneManager/IFlyZoneManager.html" class="sub-toggle">IFlyZoneManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../IFlyZoneManager/IFlyZoneManager_FlySafeTipInformation.html">FlySafeTipInformation</a>
                            </dd>
                            <dd><a href="../IFlyZoneManager/IFlyZoneManager_FlyingSafetyWarningInformation.html">FlySafeWarningInformation</a>
                            </dd>
                            <dd><a href="../IFlyZoneManager/IFlyZoneManager_FlyingSafetySeriousWarningInformation.html">FlySafeSeriousWarningInformation</a>
                            </dd>
                            <dd><a href="../IFlyZoneManager/IFlyZoneManager_FlySafeReturnToHomeInformation.html">FlySafeReturnToHomeInformation</a>
                            </dd>
                            <dd><a href="../IFlyZoneManager/IFlyZoneManager_MultiPolygonFlyZoneInformation.html">MultiPolygonFlyZoneInformation</a>
                            </dd>
                            <dd><a href="../IFlyZoneManager/IFlyZoneManager_FlyZoneInformation.html">FlyZoneInformation</a>
                            </dd>
                            <dd><a href="../IFlyZoneManager/IFlyZoneManager_FlyZoneLicenseInfo.html">FlyZoneLicenseInfo</a>
                            </dd>
                            <dd><a href="../IFlyZoneManager/IFlyZoneManager_FlySafeNotificationListener.html">FlySafeNotificationListener</a>
                            </dd>
                            <dd><a href="../IFlyZoneManager/IFlyZoneManager_FlySafeDatabaseListener.html">FlySafeDatabaseListener</a>
                            </dd>
                            <dd><a href="../IFlyZoneManager/IFlyZoneManager_FlySafeDatabaseInfo.html">FlySafeDatabaseInfo</a>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../ILTEManager/ILTEManager.html" class="sub-toggle">ILTEManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../ILTEManager/ILTEManager_LTEAuthenticationInfo.html">LTEAuthenticationInfo</a>
                            </dd>
                            <dd><a href="../ILTEManager/ILTEManager_LTELinkInfo.html">LTELinkInfo</a>
                            </dd>
                            <dd><a href="../ILTEManager/ILTEManager_LTEPrivatizationServerInfo.html">LTEPrivatizationServerInfo</a>
                            </dd>
                            <dd><a href="../ILTEManager/ILTEManager_LTEAuthenticationInfoListener.html">LTEAuthenticationInfoListener</a>
                            </dd>
                            <dd><a href="../ILTEManager/ILTEManager_LTELinkInfoListener.html">LTELinkInfoListener</a>
                            </dd>
                            <dd><a href="../ILTEManager/ILTEManager_LTEDongleInfoListener.html">LTEDongleInfoListener</a>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../IPayloadCenter/IPayloadCenter.html" class="sub-toggle">IPayloadCenter<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a data-href="../IPayloadCenter/IPayloadManager.html" class="sub-toggle">IPayloadManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a href="../IPayloadCenter/IPayloadManager_PayloadBasicInfoListener.html">PayloadBasicInfoListener</a>
                                      </dd>
                                      <dd><a href="../IPayloadCenter/IPayloadManager_PayloadWidgetInfoListener.html">PayloadWidgetInfoListener</a>
                                      </dd>
                                      <dd><a href="../IPayloadCenter/IPayloadManager_PayloadDataListener.html">PayloadDataListener</a>
                                      </dd>
                                      <dd><a href="../IPayloadCenter/IPayloadManager_PayloadBasicInfo.html">PayloadBasicInfo</a>
                                      </dd>
                                      <dd><a href="../IPayloadCenter/IPayloadManager_PayloadWidgetInfo.html">PayloadWidgetInfo</a>
                                      </dd>
                                      <dd><a href="../IPayloadCenter/IPayloadManager_PayloadWidget.html">PayloadWidget</a>
                                      </dd>
                                      <dd><a href="../IPayloadCenter/IPayloadManager_FloatingWindowWidget.html">FloatingWindowWidget</a>
                                      </dd>
                                      <dd><a href="../IPayloadCenter/IPayloadManager_SpeakerWidget.html">SpeakerWidget</a>
                                      </dd>
                                      <dd><a href="../IPayloadCenter/IPayloadManager_TextInputBoxWidget.html">TextInputBoxWidget</a>
                                      </dd>
                                      <dd><a href="../IPayloadCenter/IPayloadManager_IconFilePath.html">IconFilePath</a>
                                      </dd>
                                      <dd><a href="../IPayloadCenter/IPayloadManager_SubItems.html">SubItems</a>
                                      </dd>
                                      <dd><a href="../IPayloadCenter/Value_Payload_Struct_CustomizeRcButtonConfig.html">CustomizeRcButtonConfig</a>
                                      </dd>
                                      <dd><a href="../IPayloadCenter/Value_Payload_Struct_WidgetValue.html">WidgetValue</a>
                                      </dd>
                              </ul>
                            </dd>
                            <dd><a data-href="../IPayloadCenter/IIntelligentBoxManager.html" class="sub-toggle">IIntelligentBoxManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                              <ul class="sub-menu">
                                      <dd><a href="../IPayloadCenter/IIntelligentBoxManager_IntelligentBoxInfoListener.html">IntelligentBoxInfoListener</a>
                                      </dd>
                                      <dd><a href="../IPayloadCenter/IIntelligentBoxManager_IntelligentBoxInfo.html">IntelligentBoxInfo</a>
                                      </dd>
                                      <dd><a href="../IPayloadCenter/IIntelligentBoxManager_IntelligentBoxAppInfo.html">IntelligentBoxAppInfo</a>
                                      </dd>
                              </ul>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../IMegaphoneManager/IMegaphoneManager.html" class="sub-toggle">IMegaphoneManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../IMegaphoneManager/IMegaphoneManager_FileInfo.html">FileInfo</a>
                            </dd>
                            <dd><a href="../IMegaphoneManager/IMegaphoneManager_RealTimeTransimissionStateListener.html">RealTimeTransimissionStateListener</a>
                            </dd>
                            <dd><a href="../IMegaphoneManager/IMegaphoneManager_MegaphoneInfoListener.html">MegaphoneInfoListener</a>
                            </dd>
                            <dd><a href="../IMegaphoneManager/IMegaphoneManager_MegaphoneInfo.html">MegaphoneInfo</a>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../IPipelineManager/IPipelineManager.html" class="sub-toggle">IPipelineManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../IPipelineManager/IPipelineManager_Pipeline.html">Pipeline</a>
                            </dd>
                            <dd><a href="../IPipelineManager/IPipelineManager_DataResult.html">DataResult</a>
                            </dd>
                            <dd><a href="../IPipelineManager/IPipelineManager_PipelineConnectionListener.html">PipelineConnectionListener</a>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../IUpgradeManager/IUpgradeManager.html" class="sub-toggle">IUpgradeManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../IUpgradeManager/IUpgradeManager_FirmwareInformation.html">FirmwareInformation</a>
                            </dd>
                            <dd><a href="../IUpgradeManager/IUpgradeManager_UpgradeableComponent.html">UpgradeableComponent</a>
                            </dd>
                            <dd><a href="../IUpgradeManager/IUpgradeManager_UpgradeInfo.html">UpgradeInfo</a>
                            </dd>
                            <dd><a href="../IUpgradeManager/IUpgradeManager_UpgradeableComponentListener.html">UpgradeableComponentListener</a>
                            </dd>
                            <dd><a href="../IUpgradeManager/IUpgradeManager_UpgradeInfoListener.html">UpgradeInfoListener</a>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a href="../IFlightLogManager/IFlightLogManager.html">IFlightLogManager</a>
                  </dd>
                  <dd><a data-href="../IAreaCodeManager/IAreaCodeManager.html" class="sub-toggle">IAreaCodeManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../IAreaCodeManager/IAreaCodeManager_AreaCodeData.html">AreaCodeData</a>
                            </dd>
                            <dd><a href="../IAreaCodeManager/IAreaCodeManager_AreaCodeData_AreaCodeChangeListener.html">AreaCodeChangeListener</a>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a data-href="../IUASRemoteIDManager/IUASRemoteIDManager.html" class="sub-toggle">IUASRemoteIDManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../IUASRemoteIDManager/IUASRemoteIDManager_UASRemoteIDStatus.html">UASRemoteIDStatus</a>
                            </dd>
                            <dd><a href="../IUASRemoteIDManager/IUASRemoteIDManager_UASRemoteIDStatusListener.html">UASRemoteIDStatusListener</a>
                            </dd>
                            <dd><a href="../IUASRemoteIDManager/IUASRemoteIDManager_ElectronicIDStatus.html">ElectronicIDStatus</a>
                            </dd>
                            <dd><a href="../IUASRemoteIDManager/IUASRemoteIDManager_ElectronicIDStatusListener.html">ElectronicIDStatusListener</a>
                            </dd>
                            <dd><a href="../IUASRemoteIDManager/IUASRemoteIDManager_UARegistrationNumberStatus.html">UARegistrationNumberStatus</a>
                            </dd>
                            <dd><a href="../IUASRemoteIDManager/IUASRemoteIDManager_CClassStatusListener.html">CClassStatusListener</a>
                            </dd>
                            <dd><a href="../IUASRemoteIDManager/IUASRemoteIDManager_UARegistrationNumberStatusListener.html">UARegistrationNumberStatusListener</a>
                            </dd>
                            <dd><a href="../IUASRemoteIDManager/IUASRemoteIDManager_OperatorRegistrationNumberStatus.html">OperatorRegistrationNumberStatus</a>
                            </dd>
                            <dd><a href="../IUASRemoteIDManager/IUASRemoteIDManager_OperatorRegistrationNumberStatusListener.html">OperatorRegistrationNumberStatusListener</a>
                            </dd>
                            <dd><a href="../IUASRemoteIDManager/IUASRemoteIDManager_RealNameRegistrationStatus.html">RealNameRegistrationStatus</a>
                            </dd>
                            <dd><a href="../IUASRemoteIDManager/IUASRemoteIDManager_RealNameRegistrationStatusListener.html">RealNameRegistrationStatusListener</a>
                            </dd>
                    </ul>
                  </dd>
                  <dd><a href="../ILDMManager/ILDMManager.html">ILDMManager</a>
                  </dd>
                  <dd><a href="../IDataProtectionManager/IDataProtectionManager.html">IDataProtectionManager</a>
                  </dd>
                  <dd><a data-href="../IDeviceHealthManager/IDeviceHealthManager.html" class="sub-toggle">IDeviceHealthManager<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../IDeviceHealthManager/IDeviceHealthManager_DJIDeviceHealthInfo.html">DJIDeviceHealthInfo</a>
                            </dd>
                            <dd><a href="../IDeviceHealthManager/IDeviceHealthManager_DJIDeviceHealthInfoChangeListener.html">DJIDeviceHealthInfoChangeListener</a>
                            </dd>
                    </ul>
                  </dd>
          </dl>
          <dl>
            <dt>Misc Classes
            </dt>
                  <dd><a href="../DJIError/DJIError.html">IDJIError</a>
                  </dd>
                  <dd><a data-href="../DJICommonCallbacks/DJICommonCallbacks.html" class="sub-toggle">CommonCallbacks<i class="fa fa-angle-down"></i><i class="fa fa-angle-up"></i></a>
                    <ul class="sub-menu">
                            <dd><a href="../DJICommonCallbacks/DJICommonCallbacks_CompletionCallback.html">CompletionCallback</a>
                            </dd>
                            <dd><a href="../DJICommonCallbacks/DJICommonCallbacks_CompletionCallbackWithParam.html">CompletionCallbackWithParam&lt;T&gt;</a>
                            </dd>
                    </ul>
                  </dd>
          </dl>
        </div>
      </div>
      <div class="site-main">
        <div class="article"><div class="article"><h1><font color="#AAA">class </font>FlightControllerKey</h1></div>
<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="meta">@Keep</span></span><br><span class="line"> <span class="class"><span class="keyword">class</span> <span class="title">FlightControllerKey</span> <span class="keyword">extends</span> <span class="title">DJIFlightControllerKey</span></span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr><tr valign="top"><td width="15%"><font color="#999"><i>Inherits From:</i></font></td><td width="85%"><font color="#999"><code>DJIFlightControllerKey</code></font></td></tr></table></html>
<h5 id="description">Description:</h5>
<p><font color="#666"><code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_flightcontrollerkey">FlightControllerKey</a></code>provides a set of methods to set and get the flight controller parameters and behavior. The flight controller is a microcomputer. It is receiving the control data from aircraft and sensor data from transducers and combines them to adjust each blade power to fly. This class can get the aircraft attitude, aircraft state, flight mode, flight control settings, compass and IMU, etc. <br><br><code><i>This class is supported since MSDK 5.0</i></code></font></p>
<h5 id="class-members">Class Members:</h5>
<h4 id="basic-information">Basic Information</h4>
<div class="api-row" id="key_flightcontroller_connection"><div class="api-col left">Connection Status</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_connection_inline">KeyConnection</a></div></div><div class="inline-doc" id="key_flightcontroller_connection_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyConnection</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyConnection = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"Connection"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v2">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> <code>true</code> means flight controller is connected. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_isflying"><div class="api-col left">Flight Status</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_isflying_inline">KeyIsFlying</a></div></div><div class="inline-doc" id="key_flightcontroller_isflying_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyIsFlying</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyIsFlying = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"IsFlying"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v3">Description:</h5>
<p><font color="#666"><code>true</code> means aircraft is in flight. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_flighttimeinseconds"><div class="api-col left">Flight Time</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_flighttimeinseconds_inline">KeyFlightTimeInSeconds</a></div></div><div class="inline-doc" id="key_flightcontroller_flighttimeinseconds_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyFlightTimeInSeconds</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Integer&gt; KeyFlightTimeInSeconds = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"FlightTimeInSeconds"</span>, SingleValueConverter.IntegerConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v4">Description:</h5>
<p><font color="#666">Accumulated flight time since the aircraft motor started, unit: 0.1s. Reset after power on again. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_aircrafttotalflightduration"><div class="api-col left">Total Flight Duration</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_aircrafttotalflightduration_inline">KeyAircraftTotalFlightDuration</a></div></div><div class="inline-doc" id="key_flightcontroller_aircrafttotalflightduration_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyAircraftTotalFlightDuration</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Double&gt; KeyAircraftTotalFlightDuration = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"AircraftTotalFlightDuration"</span>, SingleValueConverter.DoubleConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v5">Description:</h5>
<p><font color="#666">Total flight duration, unit: Second. It will not be reset after the aircraft is powered off. <br><br><code><i>Supported since MSDK 5.5.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_aircrafttotalflightdistance"><div class="api-col left">Total Flight Distance</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_aircrafttotalflightdistance_inline">KeyAircraftTotalFlightDistance</a></div></div><div class="inline-doc" id="key_flightcontroller_aircrafttotalflightdistance_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyAircraftTotalFlightDistance</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Double&gt; KeyAircraftTotalFlightDistance = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"AircraftTotalFlightDistance"</span>, SingleValueConverter.DoubleConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v6">Description:</h5>
<p><font color="#666">Total flight distance, unit: Meter. It will not be reset after the aircraft is powered off. <br><br><code><i>Supported since MSDK 5.5.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_aircrafttotalflighttimes"><div class="api-col left">Total Flight Times</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_aircrafttotalflighttimes_inline">KeyAircraftTotalFlightTimes</a></div></div><div class="inline-doc" id="key_flightcontroller_aircrafttotalflighttimes_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyAircraftTotalFlightTimes</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Integer&gt; KeyAircraftTotalFlightTimes = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"AircraftTotalFlightTimes"</span>, SingleValueConverter.IntegerConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v7">Description:</h5>
<p><font color="#666">Total number of takeoffs and landings. It will not be reset after the aircraft is powered off. <br><br><code><i>Supported since MSDK 5.5.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_aircraftlocation3d"><div class="api-col left">Aircraft Location</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_aircraftlocation3d_inline">KeyAircraftLocation3D</a></div></div><div class="inline-doc" id="key_flightcontroller_aircraftlocation3d_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyAircraftLocation3D</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;LocationCoordinate3D&gt; KeyAircraftLocation3D = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"AircraftLocation3D"</span>, <span class="keyword">new</span> DJIValueConverter&lt;&gt;(LocationCoordinate3D<span class="class">.<span class="keyword">class</span>)).<span class="title">canGet</span>(<span class="title">true</span>).<span class="title">canSet</span>(<span class="title">false</span>).<span class="title">canListen</span>(<span class="title">true</span>).<span class="title">canPerformAction</span>(<span class="title">false</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v8">Description:</h5>
<p><font color="#666">To get the position of the aircraft, including longitude, latitude and altitude. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_attitude"><div class="api-col left">Aircraft Attitude Data</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_attitude_inline">KeyAircraftAttitude</a></div></div><div class="inline-doc" id="key_flightcontroller_attitude_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyAircraftAttitude</h6></div>

<figure class="highlight"><table><tr><td class="code"><pre><span class="line">static final DJIKeyInfo&lt;Attitude&gt; KeyAircraftAttitude = new DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),"AircraftAttitude", new DJIValueConverter&lt;&gt;(Attitude.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("Attitude")</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v9">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_Common_Struct_Attitude.html#value_common_struct_attitude">Attitude</a></code><br><br> Current aircraft attitude data. The value range of pitch, roll and yaw are [-180，180]. if the value of pitch, roll and yaw are 0, it means that the aircraft will hover horizontally heading north. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_velocity"><div class="api-col left">Aircraft Speed</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_velocity_inline">KeyAircraftVelocity</a></div></div><div class="inline-doc" id="key_flightcontroller_velocity_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyAircraftVelocity</h6></div>

<figure class="highlight"><table><tr><td class="code"><pre><span class="line">static final DJIKeyInfo&lt;Velocity3D&gt; KeyAircraftVelocity = new DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),"AircraftVelocity", new DJIValueConverter&lt;&gt;(Velocity3D.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("Velocity")</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v10">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_Common_Struct_Velocity3D.html#value_common_struct_velocity3d">Velocity3D</a></code><br><br> Current flight speed of the aircraft using NED coordinate system. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_takeofflocationaltitude"><div class="api-col left">Takeoff Altitude</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_takeofflocationaltitude_inline">KeyTakeoffLocationAltitude</a></div></div><div class="inline-doc" id="key_flightcontroller_takeofflocationaltitude_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyTakeoffLocationAltitude</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Double&gt; KeyTakeoffLocationAltitude = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"TakeoffLocationAltitude"</span>, SingleValueConverter.DoubleConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v11">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Double<br><br> The taking off altitude of aircraft. Unit:meter. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_islandingconfirmationneeded"><div class="api-col left">Aircraft Landing</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_islandingconfirmationneeded_inline">KeyIsLandingConfirmationNeeded</a></div></div><div class="inline-doc" id="key_flightcontroller_islandingconfirmationneeded_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyIsLandingConfirmationNeeded</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyIsLandingConfirmationNeeded = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"IsLandingConfirmationNeeded"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v12">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> <code>true</code> means that when the aircraft landed 0.5 meters above the ground, the forced landing command <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_confirmlanding">KeyConfirmLanding</a></code> should be sent to continue the landing process. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_flightlogindex"><div class="api-col left">Flight Log</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_flightlogindex_inline">KeyFlightLogIndex</a></div></div><div class="inline-doc" id="key_flightcontroller_flightlogindex_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyFlightLogIndex</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Integer&gt; KeyFlightLogIndex = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"FlightLogIndex"</span>, SingleValueConverter.IntegerConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v13">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Integer<br><br> To get the current index of the flight log, which is useful when one  needs to find the corresponding flight log. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_serialnumber"><div class="api-col left">Serial Number</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_serialnumber_inline">KeySerialNumber</a></div></div><div class="inline-doc" id="key_flightcontroller_serialnumber_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeySerialNumber</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;String&gt; KeySerialNumber = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"SerialNumber"</span>, SingleValueConverter.StringConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v14">Description:</h5>
<p><font color="#666"><b>Parameter: </b>String<br><br> To get the serial number of flight controller. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_firmwareversion"><div class="api-col left">Firmware Version</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_firmwareversion_inline">KeyFirmwareVersion</a></div></div><div class="inline-doc" id="key_flightcontroller_firmwareversion_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyFirmwareVersion</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;String&gt; KeyFirmwareVersion = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"FirmwareVersion"</span>, SingleValueConverter.StringConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v15">Description:</h5>
<p><font color="#666"><b>Parameter: </b>String<br><br> To get the firmware version of flight controller. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<html><p><br></p></html>
<h4 id="sensor">Sensor</h4>
<div class="api-row" id="key_flightcontroller_satellitecount"><div class="api-col left">GPS</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_satellitecount_inline">KeyGPSSatelliteCount</a></div></div><div class="inline-doc" id="key_flightcontroller_satellitecount_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyGPSSatelliteCount</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Integer&gt; KeyGPSSatelliteCount = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"GPSSatelliteCount"</span>, SingleValueConverter.IntegerConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>).setInnerIdentifier(<span class="string">"SatelliteCount"</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v16">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Integer<br><br> To get the number of GPS satellites. Usually the number can reach more than 12 when flying at a high altitude. When the period is good, the number can reach 18~19. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_gpssignallevel"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_gpssignallevel_inline">KeyGPSSignalLevel</a></div></div><div class="inline-doc" id="key_flightcontroller_gpssignallevel_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyGPSSignalLevel</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;GPSSignalLevel&gt; KeyGPSSignalLevel = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"GPSSignalLevel"</span>, <span class="keyword">new</span> SingleValueConverter&lt;&gt;(GPSSignalLevel<span class="class">.<span class="keyword">class</span>,<span class="title">FCGPSSignalLevelMsg</span>.<span class="title">class</span>)).<span class="title">canGet</span>(<span class="title">true</span>).<span class="title">canSet</span>(<span class="title">false</span>).<span class="title">canListen</span>(<span class="title">true</span>).<span class="title">canPerformAction</span>(<span class="title">false</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v17">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_fcgpssignallevel">GPSSignalLevel</a></code><br><br> To get the signal level of GPS. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_compasscount"><div class="api-col left">Compass</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_compasscount_inline">KeyCompassCount</a></div></div><div class="inline-doc" id="key_flightcontroller_compasscount_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyCompassCount</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Integer&gt; KeyCompassCount = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"CompassCount"</span>, SingleValueConverter.IntegerConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v18">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Integer<br><br> To get the number of compass. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_compassheading"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_compassheading_inline">KeyCompassHeading</a></div></div><div class="inline-doc" id="key_flightcontroller_compassheading_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyCompassHeading</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Double&gt; KeyCompassHeading = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"CompassHeading"</span>, SingleValueConverter.DoubleConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v19">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Double<br><br> To get the heading of the compass. Unit: degree. The north is 0 degrees, the east is 90 degrees. The value range is [-180,180]. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_compasshaserror"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_compasshaserror_inline">KeyCompassHasError</a></div></div><div class="inline-doc" id="key_flightcontroller_compasshaserror_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyCompassHasError</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyCompassHasError = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"CompassHasError"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v20">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> <code>true</code> means that the compass data is wrong. When the aircraft is used in areas with strong interference or magnetic fields, compass data Key_Gimbal_RestoreFactorySettings might occur. <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_startcompasscalibration">KeyStartCompassCalibration</a></code> should be called to calibrate compass. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_startcompasscalibration"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_startcompasscalibration_inline">KeyStartCompassCalibration</a></div></div><div class="inline-doc" id="key_flightcontroller_startcompasscalibration_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyStartCompassCalibration</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;EmptyMsg,EmptyMsg&gt; KeyStartCompassCalibration = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"StartCompassCalibration"</span>, EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v21">Description:</h5>
<p><font color="#666">To start compass calibration. Make sure there are not any magnets or metal objects near the aircraft and lift the aircraft to about 1.5m above the groud. Calibration status can be obtained through <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_compasscalibrationstate">KeyCompassCalibrationStatus</a></code>. <br>The following is the operation process of compass calibration, taking M30 as an example: <li>1. Call <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_startcompasscalibration">KeyStartCompassCalibration</a></code> to start compass calibration, <code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_fccompasscalibrationstate">CompassCalibrationState</a></code> will change to horizontal calibration state<code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_fccompasscalibrationstate_horizontal">HORIZONTAL</a></code>, refer to the figure below to rotate the aircraft 360 degrees horizontally for horizontal calibration. <img src="https://terra-1-g.djicdn.com/71a7d383e71a4fb8887a310eb746b47f/msdk/API-DOC/H.jpg"></li> <li>2. After the horizontal calibration is successful, <code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_fccompasscalibrationstate">CompassCalibrationState</a></code> will change to vertical calibration state<code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_fccompasscalibrationstate_vertical">VERTICAL</a></code>，refer to the figure below to rotate the aircraft 360 degrees vertically for vertical calibration. <img src="https://terra-1-g.djicdn.com/71a7d383e71a4fb8887a310eb746b47f/msdk/API-DOC/V.jpg"></li> <li>3. After the calibration is successful, <code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_fccompasscalibrationstate">CompassCalibrationState</a></code> will change to success state <code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_fccompasscalibrationstate_succeeded">SUCCEEDED</a></code>.</li> <br><b>note:<br> Please do not start the compass calibration after the aircraft motor starts. call <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_aremotorson">KeyAreMotorsOn</a></code> to judge whether the aircraft motor starts.</b> <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_stopcompasscalibration"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_stopcompasscalibration_inline">KeyStopCompassCalibration</a></div></div><div class="inline-doc" id="key_flightcontroller_stopcompasscalibration_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyStopCompassCalibration</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;EmptyMsg,EmptyMsg&gt; KeyStopCompassCalibration = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"StopCompassCalibration"</span>, EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v22">Description:</h5>
<p><font color="#666">To stop compass calibration. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_iscompasscalibrating"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_iscompasscalibrating_inline">KeyIsCompassCalibrating</a></div></div><div class="inline-doc" id="key_flightcontroller_iscompasscalibrating_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyIsCompassCalibrating</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyIsCompassCalibrating = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"IsCompassCalibrating"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v23">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> <code>true</code> means that the compass is calibrating. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_compasscalibrationstate"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_compasscalibrationstate_inline">KeyCompassCalibrationStatus</a></div></div><div class="inline-doc" id="key_flightcontroller_compasscalibrationstate_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyCompassCalibrationStatus</h6></div>

<figure class="highlight"><table><tr><td class="code"><pre><span class="line">static final DJIKeyInfo&lt;CompassCalibrationState&gt; KeyCompassCalibrationStatus = new DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),"CompassCalibrationStatus", new SingleValueConverter&lt;&gt;(CompassCalibrationState.class,FCCompassCalibrationStateMsg.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("CompassCalibrationState")</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v24">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_fccompasscalibrationstate">CompassCalibrationState</a></code><br><br> To get compass calibration status. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_imucount"><div class="api-col left">IMU</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_imucount_inline">KeyIMUCount</a></div></div><div class="inline-doc" id="key_flightcontroller_imucount_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyIMUCount</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Integer&gt; KeyIMUCount = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"IMUCount"</span>, SingleValueConverter.IntegerConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v25">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Integer<br><br> To get the number of IMU. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_startimucalibration"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_startimucalibration_inline">KeyStartIMUCalibration</a></div></div><div class="inline-doc" id="key_flightcontroller_startimucalibration_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyStartIMUCalibration</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;EmptyMsg,EmptyMsg&gt; KeyStartIMUCalibration = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"StartIMUCalibration"</span>, EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v26">Description:</h5>
<p><font color="#666">To start IMU calibration. For aircraft with multiple IMUs, this method will calibrate all IMUs. Calling <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_rebootdevice">KeyRebootDevice</a></code> to restart the device after IMU calibration is suggested. <br><br>The following is the operation process of IMU calibration: <li>1. Call <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_startimucalibration">KeyStartIMUCalibration</a></code> to start IMU calibration, and listen <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_imucalibrationhint">KeyIMUCalibrationInfo</a></code> to get the IMU calibration information. <code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_imucalibrationstate">IMUCalibrationState</a></code> change to <code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_imucalibrationstate_calibrating">CALIBRATING</a></code> indicates that IMU calibration is successfully started.</li> <li>2. Call <code><a href="../../Components/IKeyManager/Value_FlightController_Struct_IMUCalibrationHint.html#value_flightcontroller_struct_imucalibrationhint_getorientationstocalibrate">getOrientationsToCalibrate</a></code> to get the aircraft orientations that have not been calibrated yet. Reference to the figure in <code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_imucalibrationorientation">IMUCalibrationOrientation</a></code>, place the aircraft in turn for IMU calibration in each direction, and keep the aircraft stationary and level during the calibration process.</li> <li>3. Call <code><a href="../../Components/IKeyManager/Value_FlightController_Struct_IMUCalibrationHint.html#value_flightcontroller_struct_imucalibrationhint_getorientationcalibrationstate">getOrientationCalibrationState</a></code> to get the IMU calibration state for each orientation, when the calibraion status changes to  <code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_imuorientationcalibrationstate_completed">SUCCESSFUL</a></code> then put the aircraft in the next direction.</li> <li>3. When the uncalibrated orientation list <code><a href="../../Components/IKeyManager/Value_FlightController_Struct_IMUCalibrationHint.html#value_flightcontroller_struct_imucalibrationhint_getorientationstocalibrate">getOrientationsToCalibrate</a></code> is empty, and the calibraion state  <code><a href="../../Components/IKeyManager/Value_FlightController_Struct_IMUCalibrationHint.html#value_flightcontroller_struct_imucalibrationhint_getorientationcalibrationstate">getOrientationCalibrationState</a></code> changes to <code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_imucalibrationstate_successful">SUCCESSFUL</a></code> indicates that the IMU calibraion has been completed.</li> <br><b>note:<br> Please do not start the IMU calibration after the aircraft motor starts. call <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_aremotorson">KeyAreMotorsOn</a></code> to judge whether the aircraft motor starts.</b> <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_imucalibrationhint"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_imucalibrationhint_inline">KeyIMUCalibrationInfo</a></div></div><div class="inline-doc" id="key_flightcontroller_imucalibrationhint_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyIMUCalibrationInfo</h6></div>

<figure class="highlight"><table><tr><td class="code"><pre><span class="line">static final DJIKeyInfo&lt;IMUCalibrationInfo&gt; KeyIMUCalibrationInfo = new DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),"IMUCalibrationInfo", new DJIValueConverter&lt;&gt;(IMUCalibrationInfo.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("IMUCalibrationHint")</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v27">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_FlightController_Struct_IMUCalibrationHint.html#value_flightcontroller_struct_imucalibrationhint">IMUCalibrationInfo</a></code><br><br> To get IMU calibration information. IMU calibration includes IMU calibration of multiple aircraft orientations. IMU calibration information includes the overall calibration status of IMU, the calibration status of each aircraft orientation, as well as the list of uncalibrated aircraft orientations and the list of calibrated aircraft orientations. <br><br><code><i>Supported since MSDK 5.1.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_ultrasonicheight"><div class="api-col left">Ultrasound</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_ultrasonicheight_inline">KeyUltrasonicHeight</a></div></div><div class="inline-doc" id="key_flightcontroller_ultrasonicheight_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyUltrasonicHeight</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Integer&gt; KeyUltrasonicHeight = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"UltrasonicHeight"</span>, SingleValueConverter.IntegerConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v28">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Integer<br><br> To get the height of ultrasound distance measuring, unit:dm. The height is the distance measured from top to bottom after the aircraft takes off. Barometer altitude is often incorporated to make the data more accurate. <br><b>note:<br></b></font></p>
<ol>
<li>The maximum measurable distance at this altitude is usually 25.5 meters, depending on the actual capabilities of the aircraft. <br></li>
<li>If the aircraft is equipped with a downward-looking sensor, this height will also be integrated with the ranging height of the downward-looking sensor. <br></li>
<li>If the aircraft is equipped with an infrared sensor, this altitude will also be combined with the infrared sensor ranging altitude. 
<br><br><code><i>Supported since MSDK 5.0.0</i></code></li>
</ol>
</div>
<div class="api-row" id="key_flightcontroller_windwarning"><div class="api-col left">Wind Speed</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_windwarning_inline">KeyWindWarning</a></div></div><div class="inline-doc" id="key_flightcontroller_windwarning_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyWindWarning</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;WindWarning&gt; KeyWindWarning = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"WindWarning"</span>, <span class="keyword">new</span> SingleValueConverter&lt;&gt;(WindWarning<span class="class">.<span class="keyword">class</span>,<span class="title">FCWindWarningMsg</span>.<span class="title">class</span>)).<span class="title">canGet</span>(<span class="title">true</span>).<span class="title">canSet</span>(<span class="title">false</span>).<span class="title">canListen</span>(<span class="title">true</span>).<span class="title">canPerformAction</span>(<span class="title">false</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v29">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_fcwindwarning">WindWarning</a></code><br><br> To get current wind speed level. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_windspeed"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_windspeed_inline">KeyWindSpeed</a></div></div><div class="inline-doc" id="key_flightcontroller_windspeed_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyWindSpeed</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Integer&gt; KeyWindSpeed = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"WindSpeed"</span>, SingleValueConverter.IntegerConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v30">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Integer<br><br> To get current wind speed, unit: dm/s. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_winddirection"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_winddirection_inline">KeyWindDirection</a></div></div><div class="inline-doc" id="key_flightcontroller_winddirection_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyWindDirection</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;WindDirection&gt; KeyWindDirection = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"WindDirection"</span>, <span class="keyword">new</span> SingleValueConverter&lt;&gt;(WindDirection<span class="class">.<span class="keyword">class</span>,<span class="title">FCWindDirectionStatusMsg</span>.<span class="title">class</span>)).<span class="title">canGet</span>(<span class="title">true</span>).<span class="title">canSet</span>(<span class="title">false</span>).<span class="title">canListen</span>(<span class="title">true</span>).<span class="title">canPerformAction</span>(<span class="title">false</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v31">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_fcwinddirectionstatus">WindDirection</a></code><br><br> To get current wind direction and the world coordinate is used. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<html><p><br></p></html>
<h4 id="basic-setting">Basic Setting</h4>
<div class="api-row" id="key_flightcontroller_multipleflightmodeenabled"><div class="api-col left">Flight Mode</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_multipleflightmodeenabled_inline">KeyMultipleFlightModeEnabled</a></div></div><div class="inline-doc" id="key_flightcontroller_multipleflightmodeenabled_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyMultipleFlightModeEnabled</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyMultipleFlightModeEnabled = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"MultipleFlightModeEnabled"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">true</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v32">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> <code>true</code> means that flight mode switch is allowed. <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_msdkflightmode">KeyFlightMode</a></code> can be set to T - tripod, A - attitude, P(N) - position, S - sport mode by flipping the three-segment selector switch on the remote control. <code>false</code> means the flight mode will maintain P(N) - position mode and can not be changed. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_remotecontrollerflightmode"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_remotecontrollerflightmode_inline">KeyRemoteControllerFlightMode</a></div></div><div class="inline-doc" id="key_flightcontroller_remotecontrollerflightmode_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyRemoteControllerFlightMode</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;RemoteControllerFlightMode&gt; KeyRemoteControllerFlightMode = <span class="keyword">new</span> KeyRemoteControllerFlightMode().canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v33">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_remotecontrollerflightmode">RemoteControllerFlightMode</a></code><br><br> To get the remote controller switch Mode. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_msdkflightmode"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_msdkflightmode_inline">KeyFlightMode</a></div></div><div class="inline-doc" id="key_flightcontroller_msdkflightmode_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyFlightMode</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;FlightMode&gt; KeyFlightMode = <span class="keyword">new</span> KeyFlightMode().canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v34">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_flightmode">FlightMode</a></code><br><br> To get the flight Mode. <br><br><code><i>Supported since MSDK 5.1.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_isfailsafe"><div class="api-col left">Fail Safe</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_isfailsafe_inline">KeyIsFailSafe</a></div></div><div class="inline-doc" id="key_flightcontroller_isfailsafe_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyIsFailSafe</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyIsFailSafe = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"IsFailSafe"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v35">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> <code>true</code> means that the aircraft is out of control and is about to perform fail safe behavior. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_failsafeaction"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_failsafeaction_inline">KeyFailsafeAction</a></div></div><div class="inline-doc" id="key_flightcontroller_failsafeaction_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyFailsafeAction</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;FailsafeAction&gt; KeyFailsafeAction = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"FailsafeAction"</span>, <span class="keyword">new</span> SingleValueConverter&lt;&gt;(FailsafeAction<span class="class">.<span class="keyword">class</span>,<span class="title">FCFailsafeActionMsg</span>.<span class="title">class</span>)).<span class="title">canGet</span>(<span class="title">true</span>).<span class="title">canSet</span>(<span class="title">true</span>).<span class="title">canListen</span>(<span class="title">true</span>).<span class="title">canPerformAction</span>(<span class="title">false</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v36">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_fcfailsafeaction">FailsafeAction</a></code><br><br> To set and get fail safe behavior. When the remote controller loses connection with the aircraft, the aircraft will perform according to the set fail safe behavior. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_lowbatterywarningthreshold"><div class="api-col left">Low Power</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_lowbatterywarningthreshold_inline">KeyLowBatteryWarningThreshold</a></div></div><div class="inline-doc" id="key_flightcontroller_lowbatterywarningthreshold_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyLowBatteryWarningThreshold</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Integer&gt; KeyLowBatteryWarningThreshold = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"LowBatteryWarningThreshold"</span>, SingleValueConverter.IntegerConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">true</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v37">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Integer<br><br> To set and get the threshold for battery low power warning. The threshold is a percentage and the range is [15,50]. When the battery power is lower than the threshold, the aircraft will make a low battery alarm. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_islowbatterywarning"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_islowbatterywarning_inline">KeyIsLowBatteryWarning</a></div></div><div class="inline-doc" id="key_flightcontroller_islowbatterywarning_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyIsLowBatteryWarning</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyIsLowBatteryWarning = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"IsLowBatteryWarning"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v38">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> <code>true</code> means that the battery is in low power status. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_seriouslowbatterywarningthreshold"><div class="api-col left">Severely Low Battery</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_seriouslowbatterywarningthreshold_inline">KeySeriousLowBatteryWarningThreshold</a></div></div><div class="inline-doc" id="key_flightcontroller_seriouslowbatterywarningthreshold_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeySeriousLowBatteryWarningThreshold</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Integer&gt; KeySeriousLowBatteryWarningThreshold = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"SeriousLowBatteryWarningThreshold"</span>, SingleValueConverter.IntegerConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">true</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v39">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Integer<br><br> To get the threshold of severely low battery warning. The default threshold is 10%, and it can not be set for Matrice 30 Series. If the battery power is lower than the threshold, the aircraft will go back to home. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_isseriouslowbatterywarning"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_isseriouslowbatterywarning_inline">KeyIsSeriousLowBatteryWarning</a></div></div><div class="inline-doc" id="key_flightcontroller_isseriouslowbatterywarning_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyIsSeriousLowBatteryWarning</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyIsSeriousLowBatteryWarning = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"IsSeriousLowBatteryWarning"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v40">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> <code>true</code> means that the battery is in severely low status. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_ledssettings"><div class="api-col left">LED</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_ledssettings_inline">KeyLEDsSettings</a></div></div><div class="inline-doc" id="key_flightcontroller_ledssettings_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyLEDsSettings</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;LEDsSettings&gt; KeyLEDsSettings = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"LEDsSettings"</span>, <span class="keyword">new</span> DJIValueConverter&lt;&gt;(LEDsSettings<span class="class">.<span class="keyword">class</span>)).<span class="title">canGet</span>(<span class="title">true</span>).<span class="title">canSet</span>(<span class="title">true</span>).<span class="title">canListen</span>(<span class="title">true</span>).<span class="title">canPerformAction</span>(<span class="title">false</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v41">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_FlightController_Struct_LEDsSettings.html#value_flightcontroller_struct_ledssettings">LEDsSettings</a></code><br><br> LED related settings. The settings for forearm lights, status indicators and night lights are supported. <br><br><code><i>Supportd since MSDK 5.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_aremotorson"><div class="api-col left">Motor ESC</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_aremotorson_inline">KeyAreMotorsOn</a></div></div><div class="inline-doc" id="key_flightcontroller_aremotorson_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyAreMotorsOn</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyAreMotorsOn = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"AreMotorsOn"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v42">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> <code>true</code> means the motor starts. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_lockmotors"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_lockmotors_inline">KeyLockMotors</a></div></div><div class="inline-doc" id="key_flightcontroller_lockmotors_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyLockMotors</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyLockMotors = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"LockMotors"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">false</span>).canSet(<span class="keyword">true</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v43">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> <code>true</code> means that the motor is locked and will not turn when the remote controller stick is moved. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_escbeepenabled"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_escbeepenabled_inline">KeyESCBeepEnabled</a></div></div><div class="inline-doc" id="key_flightcontroller_escbeepenabled_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyESCBeepEnabled</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyESCBeepEnabled = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"ESCBeepEnabled"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">true</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v44">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> <code>true</code> means the ESC beeping function is opened. When the aircraft loses contact by accident, this function can be turned on to identify the position of the aircraft by sound. If motors are running, Stop them and try again. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_coordinatedturnenabled"><div class="api-col left">Coordinated Turn</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_coordinatedturnenabled_inline">KeyCoordinatedTurnEnabled</a></div></div><div class="inline-doc" id="key_flightcontroller_coordinatedturnenabled_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyCoordinatedTurnEnabled</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyCoordinatedTurnEnabled = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"CoordinatedTurnEnabled"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">true</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v45">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> <code>true</code> means the coordinated turn function is opened. When the aircraft turns, the node follows the flight direction. There is no sideslip flight, and the resistance of flight is smaller. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_navigationsatellitesystemsource"><div class="api-col left">GNSS</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_navigationsatellitesystemsource_inline">KeyNavigationSatelliteSystemSource</a></div></div><div class="inline-doc" id="key_flightcontroller_navigationsatellitesystemsource_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyNavigationSatelliteSystemSource</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;NavigationSatelliteSystem&gt; KeyNavigationSatelliteSystemSource = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"NavigationSatelliteSystemSource"</span>, <span class="keyword">new</span> SingleValueConverter&lt;&gt;(NavigationSatelliteSystem<span class="class">.<span class="keyword">class</span>,<span class="title">NavigationSatelliteSystemMsg</span>.<span class="title">class</span>)).<span class="title">canGet</span>(<span class="title">true</span>).<span class="title">canSet</span>(<span class="title">true</span>).<span class="title">canListen</span>(<span class="title">true</span>).<span class="title">canPerformAction</span>(<span class="title">false</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v46">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_navigationsatellitesystem">NavigationSatelliteSystem</a></code><br><br> To set the GNSS used. The GNSS is only supported when the RTK location function is closed, and can not be changed when the aircraft is in the air. After the GNSS is switched, do not take off until satellite signal strength reaches at least level 3. If RTK location function is opened, the aircraft will use GPS, GLONASS, Galileo and Beidou GNSS. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<html><p><br></p></html>
<h4 id="basic-operation">Basic Operation</h4>
<div class="api-row" id="key_flightcontroller_starttakeoff"><div class="api-col left">Take Off</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_starttakeoff_inline">KeyStartTakeoff</a></div></div><div class="inline-doc" id="key_flightcontroller_starttakeoff_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyStartTakeoff</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;EmptyMsg,EmptyMsg&gt; KeyStartTakeoff = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"StartTakeoff"</span>, EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v47">Description:</h5>
<p><font color="#666">To start the automatic taking off of the aircraft. When the aircraft hovers at an altitude of 1.2 meters(4 feet) above the ground, taking off is completed. If the motor is already opened, this command can not be executed. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_stoptakeoff"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_stoptakeoff_inline">KeyStopTakeoff</a></div></div><div class="inline-doc" id="key_flightcontroller_stoptakeoff_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyStopTakeoff</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;EmptyMsg,EmptyMsg&gt; KeyStopTakeoff = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"StopTakeoff"</span>, EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v48">Description:</h5>
<p><font color="#666">To stop the automatic take-off of the aircraft. If this interface is called before automatic take-off is finished, the aircraft will stop taking off and hover at the current altitude. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_startautolanding"><div class="api-col left">Landing</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_startautolanding_inline">KeyStartAutoLanding</a></div></div><div class="inline-doc" id="key_flightcontroller_startautolanding_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyStartAutoLanding</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;EmptyMsg,EmptyMsg&gt; KeyStartAutoLanding = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"StartAutoLanding"</span>, EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v49">Description:</h5>
<p><font color="#666">To start the automatic landing of the aircraft. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_stopautolanding"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_stopautolanding_inline">KeyStopAutoLanding</a></div></div><div class="inline-doc" id="key_flightcontroller_stopautolanding_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyStopAutoLanding</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;EmptyMsg,EmptyMsg&gt; KeyStopAutoLanding = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"StopAutoLanding"</span>, EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v50">Description:</h5>
<p><font color="#666">To stop the autonomuous landing of the aircraft. If this interface is called during the automatic landing process, the aircraft will stop landing and hover at the current altitude. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_confirmlanding"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_confirmlanding_inline">KeyConfirmLanding</a></div></div><div class="inline-doc" id="key_flightcontroller_confirmlanding_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyConfirmLanding</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;EmptyMsg,EmptyMsg&gt; KeyConfirmLanding = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"ConfirmLanding"</span>, EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v51">Description:</h5>
<p><font color="#666">To confirm continue landing. When the aircraft is at an altitude of less than 0.7 meters above the ground, the aircraft will stop landing and wait for confirmation. <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_islandingconfirmationneeded">KeyIsLandingConfirmationNeeded</a></code> can be used to check whether landing confirmation is needed. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_rebootdevice"><div class="api-col left">Restart</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_rebootdevice_inline">KeyRebootDevice</a></div></div><div class="inline-doc" id="key_flightcontroller_rebootdevice_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyRebootDevice</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;EmptyMsg,EmptyMsg&gt; KeyRebootDevice = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"RebootDevice"</span>, EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v52">Description:</h5>
<p><font color="#666">To restart the core device of the aircraft. It is suggested to call this method after IMU calibration. <br><b>note:<br> Please do not restart the core device of the aircraft after the aircraft motor starts. call <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_aremotorson">KeyAreMotorsOn</a></code> to judge whether the aircraft motor starts.</b> <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_msdklookat"><div class="api-col left">LookAt</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_msdklookat_inline">KeyLookAt</a></div></div><div class="inline-doc" id="key_flightcontroller_msdklookat_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyLookAt</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;LookAtInfo, EmptyMsg&gt; KeyLookAt = <span class="keyword">new</span> KeyLookAt().canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v53">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_FlightController_LookAtInfo.html#value_flightcontroller_lookatinfo">LookAtInfo</a></code><br><br> The aircraft will look at the GPS point you set up. <br><br><code><i>Supported since MSDK 5.9.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_heightlimitrange"><div class="api-col left">Maximum Altitude</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_heightlimitrange_inline">KeyHeightLimitRange</a></div></div><div class="inline-doc" id="key_flightcontroller_heightlimitrange_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyHeightLimitRange</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;IntValueConfig&gt; KeyHeightLimitRange = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"HeightLimitRange"</span>, <span class="keyword">new</span> DJIValueConverter&lt;&gt;(IntValueConfig<span class="class">.<span class="keyword">class</span>)).<span class="title">canGet</span>(<span class="title">true</span>).<span class="title">canSet</span>(<span class="title">false</span>).<span class="title">canListen</span>(<span class="title">true</span>).<span class="title">canPerformAction</span>(<span class="title">false</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v54">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_Common_Struct_IntValueConfig.html#value_common_struct_intvalueconfig">IntValueConfig</a></code><br><br>
To get the height limit setting range. Unit: meter.
<br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_heightlimit"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_heightlimit_inline">KeyHeightLimit</a></div></div><div class="inline-doc" id="key_flightcontroller_heightlimit_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyHeightLimit</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Integer&gt; KeyHeightLimit = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"HeightLimit"</span>, SingleValueConverter.IntegerConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">true</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v55">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Integer<br><br>
To set the maximum flight altitude of the aircraft. Unit: meter. <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_heightlimitrange">KeyHeightLimitRange</a></code> can be used to get setting range.
<br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_isnearheightlimit"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_isnearheightlimit_inline">KeyIsNearHeightLimit</a></div></div><div class="inline-doc" id="key_flightcontroller_isnearheightlimit_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyIsNearHeightLimit</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyIsNearHeightLimit = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"IsNearHeightLimit"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v56">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br>
<code>true</code> means the aircraft has reached the maximum flight altitude.
<br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_distancelimitenabled"><div class="api-col left">Maximum Flight Distance</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_distancelimitenabled_inline">KeyDistanceLimitEnabled</a></div></div><div class="inline-doc" id="key_flightcontroller_distancelimitenabled_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyDistanceLimitEnabled</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyDistanceLimitEnabled = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"DistanceLimitEnabled"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">true</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v57">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br>
<code>true</code> means the distance limitation switch is opened. After this switch is opened, <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_distancelimit">KeyDistanceLimit</a></code> can be used to set the maximum flight distance of the aircraft.
<br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_distancelimitrange"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_distancelimitrange_inline">KeyDistanceLimitRange</a></div></div><div class="inline-doc" id="key_flightcontroller_distancelimitrange_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyDistanceLimitRange</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;IntValueConfig&gt; KeyDistanceLimitRange = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"DistanceLimitRange"</span>, <span class="keyword">new</span> DJIValueConverter&lt;&gt;(IntValueConfig<span class="class">.<span class="keyword">class</span>)).<span class="title">canGet</span>(<span class="title">true</span>).<span class="title">canSet</span>(<span class="title">false</span>).<span class="title">canListen</span>(<span class="title">true</span>).<span class="title">canPerformAction</span>(<span class="title">false</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v58">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_Common_Struct_IntValueConfig.html#value_common_struct_intvalueconfig">IntValueConfig</a></code><br><br>
To get diatance limitation setting range. Unit: meter.
<br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_distancelimit"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_distancelimit_inline">KeyDistanceLimit</a></div></div><div class="inline-doc" id="key_flightcontroller_distancelimit_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyDistanceLimit</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Integer&gt; KeyDistanceLimit = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"DistanceLimit"</span>, SingleValueConverter.IntegerConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">true</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v59">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Integer<br><br>
To set the maximum flight distance of the aircraft. Unit: meter. This value is the distance between aircraft and home point. <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_distancelimitrange">KeyDistanceLimitRange</a></code> can be used to get the setting range.
<br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_isneardistancelimit"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_isneardistancelimit_inline">KeyIsNearDistanceLimit</a></div></div><div class="inline-doc" id="key_flightcontroller_isneardistancelimit_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyIsNearDistanceLimit</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyIsNearDistanceLimit = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"IsNearDistanceLimit"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v60">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br>
<code>true</code> means the aircraft has reached the maximum flight distance.
<br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_startmultigimbalsynccontrol"><div class="api-col left">Multi Gimbal Synchronization Control</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_startmultigimbalsynccontrol_inline">KeyStartMultiGimbalSyncControl</a></div></div><div class="inline-doc" id="key_flightcontroller_startmultigimbalsynccontrol_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyStartMultiGimbalSyncControl</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;MultiGimbalSyncControlInfo,EmptyMsg&gt; KeyStartMultiGimbalSyncControl = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"StartMultiGimbalSyncControl"</span>, <span class="keyword">new</span> DJIValueConverter&lt;&gt;(MultiGimbalSyncControlInfo<span class="class">.<span class="keyword">class</span>),<span class="title">EmptyValueConverter</span>.<span class="title">converter</span>).<span class="title">canGet</span>(<span class="title">false</span>).<span class="title">canSet</span>(<span class="title">false</span>).<span class="title">canListen</span>(<span class="title">false</span>).<span class="title">canPerformAction</span>(<span class="title">true</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v61">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_FlightController_Struct_MultiGimbalSyncControlMsg.html#value_flightcontroller_struct_multigimbalsynccontrolmsg">MultiGimbalSyncControlInfo</a></code><br><br> Enable multi-gimbal Synchronization control. Multiple gimbals can be controlled at the same time through one remote controller. Please make sure that the set gimbals have been mounted on the aircraft. This interface is suitable for aircraft that can mount multiple gimbals, such as M300 RTK and M350 RTK. <br><br><code><i>Supported since MSDK 5.2.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_stopmultigimbalsynccontrol"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_stopmultigimbalsynccontrol_inline">KeyStopMultiGimbalSyncControl</a></div></div><div class="inline-doc" id="key_flightcontroller_stopmultigimbalsynccontrol_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyStopMultiGimbalSyncControl</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;EmptyMsg,EmptyMsg&gt; KeyStopMultiGimbalSyncControl = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"StopMultiGimbalSyncControl"</span>, EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v62">Description:</h5>
<p><font color="#666">Disable multi-gimbal Synchronization control. <br><br><code><i>Supported since MSDK 5.2.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_multigimbalsyncstatus"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_multigimbalsyncstatus_inline">KeyMultiGimbalSyncStatus</a></div></div><div class="inline-doc" id="key_flightcontroller_multigimbalsyncstatus_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyMultiGimbalSyncStatus</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;MultiGimbalSyncStatus&gt; KeyMultiGimbalSyncStatus = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"MultiGimbalSyncStatus"</span>, <span class="keyword">new</span> DJIValueConverter&lt;&gt;(MultiGimbalSyncStatus<span class="class">.<span class="keyword">class</span>)).<span class="title">canGet</span>(<span class="title">true</span>).<span class="title">canSet</span>(<span class="title">false</span>).<span class="title">canListen</span>(<span class="title">true</span>).<span class="title">canPerformAction</span>(<span class="title">false</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v63">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_FlightController_Struct_MultiGimbalSyncStatus.html#value_flightcontroller_struct_multigimbalsyncstatus">MultiGimbalSyncStatus</a></code><br><br>
Gets multi-gimbal Synchronization control status.
<br><br><code><i>Supported since MSDK 5.2.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_propellerrotation"><div class="api-col left">Basic Operation</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_propellerrotation_inline">KeyPropellerRotation</a></div></div><div class="inline-doc" id="key_flightcontroller_propellerrotation_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyPropellerRotation</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;PropellerRotationCommand,PropellerRotationCommandResult&gt; KeyPropellerRotation = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"PropellerRotation"</span>, <span class="keyword">new</span> SingleValueConverter&lt;&gt;(PropellerRotationCommand<span class="class">.<span class="keyword">class</span>,<span class="title">PropellerRotationCommandMsg</span>.<span class="title">class</span>),<span class="title">new</span> <span class="title">DJIValueConverter</span>&lt;&gt;(<span class="title">PropellerRotationCommandResult</span>.<span class="title">class</span>)).<span class="title">canGet</span>(<span class="title">false</span>).<span class="title">canSet</span>(<span class="title">false</span>).<span class="title">canListen</span>(<span class="title">false</span>).<span class="title">canPerformAction</span>(<span class="title">true</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v64">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> Aircraft slow propeller function. <br><b>Note: <br> Currently, only the M400 model supports this interface, but it does not support LOW_SPEED_REVERSE_ROTATION. Therefore, the aircraft slow propeller currently supports rotation in only one direction.</b> <br><br><code><i>Supported since MSDK 5.15.0</i></code></font></p>
</div>
<html><p><br></p></html>
<h4 id="return-to-home-function">Return-to-Home Function</h4>
<div class="api-row" id="key_flightcontroller_ishomelocationset"><div class="api-col left">Intelligent Return-to-Home</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_ishomelocationset_inline">KeyIsHomeLocationSet</a></div></div><div class="inline-doc" id="key_flightcontroller_ishomelocationset_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyIsHomeLocationSet</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyIsHomeLocationSet = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"IsHomeLocationSet"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v65">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> <code>true</code> means home point has been set. When the GPS signal is good, the aircraft will automatically set the current position as home point. <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_ishomelocationset">KeyIsHomeLocationSet</a></code> will return <code>true</code>. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_homelocation"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_homelocation_inline">KeyHomeLocation</a></div></div><div class="inline-doc" id="key_flightcontroller_homelocation_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyHomeLocation</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;LocationCoordinate2D&gt; KeyHomeLocation = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"HomeLocation"</span>, <span class="keyword">new</span> DJIValueConverter&lt;&gt;(LocationCoordinate2D<span class="class">.<span class="keyword">class</span>)).<span class="title">canGet</span>(<span class="title">true</span>).<span class="title">canSet</span>(<span class="title">true</span>).<span class="title">canListen</span>(<span class="title">true</span>).<span class="title">canPerformAction</span>(<span class="title">false</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v66">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_Common_Struct_LocationCoordinate2D.html#value_common_struct_locationcoordinate2d">LocationCoordinate2D</a></code><br><br>
To set and get current home point location, including longitude and latitude. When GPS signal is good, aircraft will automatically set current position as home point. This key can also be used to change home point location.
<br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_gohomeheight"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_gohomeheight_inline">KeyGoHomeHeight</a></div></div><div class="inline-doc" id="key_flightcontroller_gohomeheight_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyGoHomeHeight</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Integer&gt; KeyGoHomeHeight = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"GoHomeHeight"</span>, SingleValueConverter.IntegerConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">true</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v67">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Integer<br><br>
To set and get relative altitude when returning home. Unit: meter. This value is related to the altitude when taking off. <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_gohomeheightrange">KeyGoHomeHeightRange</a></code> can be used to get return-to-home height setting range.
If the horizontal distance between aircraft and home point is within 50 meters, the aircraft will ignore the set return-to-home altitude and return at current altitude. If the forward vision system does not work properly, the aircraft will climb to the set altitude and return.
<br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_gohomeheightrange"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_gohomeheightrange_inline">KeyGoHomeHeightRange</a></div></div><div class="inline-doc" id="key_flightcontroller_gohomeheightrange_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyGoHomeHeightRange</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;IntValueConfig&gt; KeyGoHomeHeightRange = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"GoHomeHeightRange"</span>, <span class="keyword">new</span> DJIValueConverter&lt;&gt;(IntValueConfig<span class="class">.<span class="keyword">class</span>)).<span class="title">canGet</span>(<span class="title">true</span>).<span class="title">canSet</span>(<span class="title">false</span>).<span class="title">canListen</span>(<span class="title">true</span>).<span class="title">canPerformAction</span>(<span class="title">false</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v68">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_Common_Struct_IntValueConfig.html#value_common_struct_intvalueconfig">IntValueConfig</a></code><br><br>
To get the setting range of the return-to-home altitude. Unit: meter.
<br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_homelocationusingcurrentaircraftlocation"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_homelocationusingcurrentaircraftlocation_inline">KeyHomeLocationUsingCurrentAircraftLocation</a></div></div><div class="inline-doc" id="key_flightcontroller_homelocationusingcurrentaircraftlocation_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyHomeLocationUsingCurrentAircraftLocation</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;EmptyMsg,EmptyMsg&gt; KeyHomeLocationUsingCurrentAircraftLocation = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"HomeLocationUsingCurrentAircraftLocation"</span>, EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v69">Description:</h5>
<p><font color="#666">To set current aircraft location as home point location. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_startgohome"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_startgohome_inline">KeyStartGoHome</a></div></div><div class="inline-doc" id="key_flightcontroller_startgohome_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyStartGoHome</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;EmptyMsg,EmptyMsg&gt; KeyStartGoHome = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"StartGoHome"</span>, EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v70">Description:</h5>
<p><font color="#666">To start intelligent return-to-home. When the GPS signal is not good, intelligent return-to-home can not be started. Intelligent return-to-home can also be started by the smart return-to-home button on the remote controller. During the return-to-home home process, the user can control the altitude of the aircraft with the throttle stick and control the speed of the aircraft with the pitch stick to avoid obstacles. During the return-to-home process, the user can regain control of the aircraft after exiting the intelligent return-to-home home via the intelligent return-to-home button or by calling <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_stopgohome">KeyStopGoHome</a></code>. <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_gohomestatus">KeyGoHomeStatus</a></code> can be used to get intelligent return-to-home status. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_stopgohome"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_stopgohome_inline">KeyStopGoHome</a></div></div><div class="inline-doc" id="key_flightcontroller_stopgohome_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyStopGoHome</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;EmptyMsg,EmptyMsg&gt; KeyStopGoHome = <span class="keyword">new</span> DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"StopGoHome"</span>, EmptyValueConverter.converter,EmptyValueConverter.converter).canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v71">Description:</h5>
<p><font color="#666">To stop intelligent return-to-home. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_gohomestatus"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_gohomestatus_inline">KeyGoHomeStatus</a></div></div><div class="inline-doc" id="key_flightcontroller_gohomestatus_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyGoHomeStatus</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;GoHomeState&gt; KeyGoHomeStatus = <span class="keyword">new</span> KeyGoHomeStatus().canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v72">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_gohomestate">GoHomeState</a></code><br><br> To get intelligent return-to-home status. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_msdkgohomeinfo"><div class="api-col left">Return-to-Home Information</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_msdkgohomeinfo_inline">KeyGoHomeInfo</a></div></div><div class="inline-doc" id="key_flightcontroller_msdkgohomeinfo_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyGoHomeInfo</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;GoHomeInfo&gt; KeyGoHomeInfo = <span class="keyword">new</span> KeyGoHomeInfo().canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v73">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_FlightController_GoHomeInfo.html#value_flightcontroller_gohomeinfo">GoHomeInfo</a></code><br><br> Get the information related to return-to-home. When the obtained <code><a href="../../Components/IKeyManager/Value_FlightController_GoHomeInfo.html#value_flightcontroller_gohomeinfo_gohomeneedconfirmtype">getType</a></code> status is <code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_msdkgohomeneedconfirmtype_normal">NORMAL</a></code>, you need to call the <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_msdkgohomeconfirm">KeyGoHomeConfirm</a></code> interface to confirm or cancel the return-to-home operation. <br><br><code><i>Supported since MSDK 5.12.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_msdkgohomeconfirm"><div class="api-col left">Return-to-Home Confirm</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_msdkgohomeconfirm_inline">KeyGoHomeConfirm</a></div></div><div class="inline-doc" id="key_flightcontroller_msdkgohomeconfirm_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyGoHomeConfirm</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;Boolean, EmptyMsg&gt; KeyGoHomeConfirm = <span class="keyword">new</span> KeyGoHomeConfirm().canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v74">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> Confirm or cancel the return home operation. When the status of <code><a href="../../Components/IKeyManager/Value_FlightController_GoHomeInfo.html#value_flightcontroller_gohomeinfo_gohomeneedconfirmtype">getType</a></code> obtained by calling <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_msdkgohomeinfo">KeyGoHomeInfo</a></code> is <code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_msdkgohomeneedconfirmtype_normal">NORMAL</a></code>, you need to call this interface to confirm or cancel the return-to-home operation. <code>true</code> means confirming the return-to-home. <code>false</code> means canceling the return-to-home. <br><br><code><i>Supported since MSDK 5.12.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_smartbatteryrthenabled"><div class="api-col left">Low Battery Return-to-Home</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_smartbatteryrthenabled_inline">KeyLowBatteryRTHEnabled</a></div></div><div class="inline-doc" id="key_flightcontroller_smartbatteryrthenabled_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyLowBatteryRTHEnabled</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyLowBatteryRTHEnabled = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"LowBatteryRTHEnabled"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">true</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>).setInnerIdentifier(<span class="string">"SmartBatteryRTHEnabled"</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v75">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> <code>true</code> means intelligent low battery return-to-home function is opened. To avoid unnecessary dangers dangerous due to the low battery, aircraft will intelligently judge whether the current battery is sufficient according to the flight position information. If current battery power is only enough to complete the return-to-home process, MSDK will prompt whether operate the return-to-home process. If the user does not make a selection within 10s, MSDK will automatically return-to-home after 10s. During the returning process, you can short press the smart return-to-home button on the remote control to cancel the return-to-home process. Smart low battery return-to-home only occurs once during one flight. If the user cancels the low-battery return-to-home reminder and continues to fly, the aircraft may be forced to land due to insufficient power when returning, resulting in the aircraft being lost or crashed. For security reasons, it is not recommended to turn this function off. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_msdklowbatteryrthinfo"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_msdklowbatteryrthinfo_inline">KeyLowBatteryRTHInfo</a></div></div><div class="inline-doc" id="key_flightcontroller_msdklowbatteryrthinfo_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyLowBatteryRTHInfo</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;LowBatteryRTHInfo&gt; KeyLowBatteryRTHInfo = <span class="keyword">new</span> KeyLowBatteryRTHInfo().canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v76">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_FlightController_Struct_GoHomeAssessment.html#value_flightcontroller_struct_gohomeassessment">LowBatteryRTHInfo</a></code><br><br> To get related information of the intelligent low battery power. This function is only valid when <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_smartbatteryrthenabled">KeyLowBatteryRTHEnabled</a></code> is enabled. <br><br><code><i>Supported since MSDK 5.0.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_msdklowbatteryrthconfirm"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_msdklowbatteryrthconfirm_inline">KeyLowBatteryRTHConfirm</a></div></div><div class="inline-doc" id="key_flightcontroller_msdklowbatteryrthconfirm_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyLowBatteryRTHConfirm</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIActionKeyInfo&lt;Boolean, EmptyMsg&gt; KeyLowBatteryRTHConfirm = <span class="keyword">new</span> KeyLowBatteryRTHConfirm().canGet(<span class="keyword">false</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">false</span>).canPerformAction(<span class="keyword">true</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v77">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> Confirm or cancel the return home operation. When calling <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_msdklowbatteryrthinfo">KeyLowBatteryRTHInfo</a></code> and the status obtained is <code><a href="../../Components/IKeyManager/DJIValue.html#value_flightcontroller_enum_smartrthstate_counting_down">COUNTING_DOWN</a></code>, you can call this interface to confirm or cancel the return operation. <code>true</code> indicates confirmation of return. <code>false</code> means to cancel the return flight. <br><br><code><i>Supported since MSDK 5.8.0</i></code></font></p>
</div>
<html><p><br></p></html>
<h4 id="security-code">Security Code</h4>
<div class="api-row" id="key_flightcontroller_accesslockerv1alldevicestates"><div class="api-col left">Device Status</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_accesslockerv1alldevicestates_inline">KeyAccessLockerAllDeviceStatus</a></div></div><div class="inline-doc" id="key_flightcontroller_accesslockerv1alldevicestates_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyAccessLockerAllDeviceStatus</h6></div>

<figure class="highlight"><table><tr><td class="code"><pre><span class="line">static final DJIKeyInfo&lt;List&lt;AccessLockerDeviceStatus&gt;&gt; KeyAccessLockerAllDeviceStatus = new DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),"AccessLockerAllDeviceStatus", new SingleValueConverter&lt;&gt;((Class)List.class,AccessLockerV1AllDeviceStates.class)).canGet(true).canSet(false).canListen(true).canPerformAction(false).setIsEvent(false).setInnerIdentifier("AccessLockerV1AllDeviceStates")</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v78">Description:</h5>
<p><font color="#666"><b>Parameter: </b>List&lt;<code><a href="../../Components/IKeyManager/Value_FlightController_Struct_AccessLockerV1DeviceState.html#value_flightcontroller_struct_accesslockerv1devicestate">AccessLockerDeviceStatus</a></code>&gt;<br><br> Get the security code status of the storage device. Through this interface, you can obtain whether the storage device on the aircraft supports the security code function, whether the security code function is enabled, and whether the security code needs to be verified. <br>Security code is to keep your media data safe. After the security code is set, the MSDK App needs to perform password verification after connecting to the aircraft. After the verification is passed, it can take photos, record videos and read and write media data in the storage device. <br><li><code><a href="../../Components/IKeyManager/Value_FlightController_Struct_AccessLockerV1EncryptionState.html#value_flightcontroller_struct_accesslockerv1encryptionstate_getisfeaturesupported">getIsFeatureSupported</a></code> is <code>true</code>, indicating that the storage device supports the security code function. You can call <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_accesslockerv1setupuseraccount">KeyAccessLockerSetSecurityCode</a></code> to set the security code. </li> <li><code><a href="../../Components/IKeyManager/Value_FlightController_Struct_AccessLockerV1EncryptionState.html#value_flightcontroller_struct_accesslockerv1encryptionstate_getisfeatureenabled">getIsFeatureEnabled</a></code> is <code>true</code>, indicating that the security code function of the storage device is enabled. You can call <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_accesslockerv1modifyuseraccount">KeyAccessLockerModifySecurityCode</a></code> for security code modification. If you forget the security code, you can call <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_accesslockerv1resetuseraccount">KeyAccessLockerResetSecurityCode</a></code> to reset the security code. </li> <li><code><a href="../../Components/IKeyManager/Value_FlightController_Struct_AccessLockerV1EncryptionState.html#value_flightcontroller_struct_accesslockerv1encryptionstate_getisfeatureneedtobeverified">getIsFeatureNeedToBeVerified</a></code> is <code>true</code>, indicating that the storage device needs to verify the security code. Please call <code><a href="../../Components/IKeyManager/Key_FlightController_FlightControllerKey.html#key_flightcontroller_accesslockerv1verifyuseraccount">KeyAccessLockerVerifySecurityCode</a></code> for security code verification, otherwise, you will not be able to take photos and record videos, and you will not be able to read and write media data in the storage device. The security code is usually required to be verified when the aircraft is restarted or the storage device is inserted. </li> <li>Security code is neither saved on device nor accessible by DJI. </li> <li>It is not possible to reset security code. If security code is lost, format SD card to delete code. </li> <li>Security code settings only available for Zenmuse H20, Matrice 30 series cameras and Mavic 3 Enterprise series cameras. Zenmuse P1, Zenmuse L1, and third-party payloads currently not supported. <br><br><code><i>Supported since MSDK 5.1.0</i></code></li></font></p>
</div>
<div class="api-row" id="key_flightcontroller_accesslockerv1setupuseraccount"><div class="api-col left">Set Security Code</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_accesslockerv1setupuseraccount_inline">KeyAccessLockerSetSecurityCode</a></div></div><div class="inline-doc" id="key_flightcontroller_accesslockerv1setupuseraccount_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyAccessLockerSetSecurityCode</h6></div>

<figure class="highlight"><table><tr><td class="code"><pre><span class="line">static final DJIActionKeyInfo&lt;AccessLockerSetSecurityCodeInfo,EmptyMsg&gt; KeyAccessLockerSetSecurityCode = new DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),"AccessLockerSetSecurityCode", new DJIValueConverter&lt;&gt;(AccessLockerSetSecurityCodeInfo.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("AccessLockerV1SetupUserAccount")</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v79">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_FlightController_Struct_AccessLockerV1SetupUserAccountInfo.html#value_flightcontroller_struct_accesslockerv1setupuseraccountinfo">AccessLockerSetSecurityCodeInfo</a></code><br><br> Set a security code. The device and storage type can be selected for security code setting through this interface.</font></p>
 <li>The storage device will be formatted after setting the security code, please make sure the media data has been backed up. </li>
 <li>Please keep the security code in a safe place. If you lose it, you will not be able to retrieve it. You can only unlock the storage device by formatting it. </li>
 <li>you should set a security code with a length of at least 4 characters. It is recommended that use numbers, uppercase and lowercase letters to form the security code.</li>
 <br><br><code><i>Supported since MSDK 5.1.0</i></code>
</div>
<div class="api-row" id="key_flightcontroller_accesslockerv1verifyuseraccount"><div class="api-col left">Verify Security Code</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_accesslockerv1verifyuseraccount_inline">KeyAccessLockerVerifySecurityCode</a></div></div><div class="inline-doc" id="key_flightcontroller_accesslockerv1verifyuseraccount_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyAccessLockerVerifySecurityCode</h6></div>

<figure class="highlight"><table><tr><td class="code"><pre><span class="line">static final DJIActionKeyInfo&lt;AccessLockerVerifySecurityCodeInfo,EmptyMsg&gt; KeyAccessLockerVerifySecurityCode = new DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),"AccessLockerVerifySecurityCode", new DJIValueConverter&lt;&gt;(AccessLockerVerifySecurityCodeInfo.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("AccessLockerV1VerifyUserAccount")</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v80">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_FlightController_Struct_AccessLockerV1VerifyUserAccountInfo.html#value_flightcontroller_struct_accesslockerv1verifyuseraccountinfo">AccessLockerVerifySecurityCodeInfo</a></code><br><br> Verify the security code. The security code can be verified through this interface. After the verification is passed, you can take photos, record videos and read and write media data in the storage device.
<br><br><code><i>Supported since MSDK 5.1.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_accesslockerv1modifyuseraccount"><div class="api-col left">Modify Security Code</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_accesslockerv1modifyuseraccount_inline">KeyAccessLockerModifySecurityCode</a></div></div><div class="inline-doc" id="key_flightcontroller_accesslockerv1modifyuseraccount_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyAccessLockerModifySecurityCode</h6></div>

<figure class="highlight"><table><tr><td class="code"><pre><span class="line">static final DJIActionKeyInfo&lt;AccessLockerModifySecurityCodeInfo,EmptyMsg&gt; KeyAccessLockerModifySecurityCode = new DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),"AccessLockerModifySecurityCode", new DJIValueConverter&lt;&gt;(AccessLockerModifySecurityCodeInfo.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("AccessLockerV1ModifyUserAccount")</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v81">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_FlightController_Struct_AccessLockerV1ModifyUserAccountInfo.html#value_flightcontroller_struct_accesslockerv1modifyuseraccountinfo">AccessLockerModifySecurityCodeInfo</a></code><br><br> Modify the security code. <br><br><code><i>Supported since MSDK 5.1.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_accesslockerv1resetuseraccount"><div class="api-col left">Reset Security Code</div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_accesslockerv1resetuseraccount_inline">KeyAccessLockerResetSecurityCode</a></div></div><div class="inline-doc" id="key_flightcontroller_accesslockerv1resetuseraccount_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyAccessLockerResetSecurityCode</h6></div>

<figure class="highlight"><table><tr><td class="code"><pre><span class="line">static final DJIActionKeyInfo&lt;AccessLockerResetSecurityCodeInfo,EmptyMsg&gt; KeyAccessLockerResetSecurityCode = new DJIActionKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),"AccessLockerResetSecurityCode", new DJIValueConverter&lt;&gt;(AccessLockerResetSecurityCodeInfo.class),EmptyValueConverter.converter).canGet(false).canSet(false).canListen(false).canPerformAction(true).setIsEvent(false).setInnerIdentifier("AccessLockerV1ResetUserAccount")</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v82">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_FlightController_Struct_AccessLockerV1ResetUserAccountInfo.html#value_flightcontroller_struct_accesslockerv1resetuseraccountinfo">AccessLockerResetSecurityCodeInfo</a></code><br><br> Reset the security code. Reset the security security code will format the storage device, please make sure the media data is backed up. <br><br><code><i>Supported since MSDK 5.1.0</i></code></font></p>
</div>
<html><p><br></p></html>
<h4 id="airsense">AirSense</h4>
<div class="api-row" id="key_flightcontroller_airsensesystemsupported"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_airsensesystemsupported_inline">KeyAirSenseSystemSupported</a></div></div><div class="inline-doc" id="key_flightcontroller_airsensesystemsupported_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyAirSenseSystemSupported</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;Boolean&gt; KeyAirSenseSystemSupported = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"AirSenseSystemSupported"</span>, SingleValueConverter.BooleanConverter).canGet(<span class="keyword">true</span>).canSet(<span class="keyword">false</span>).canListen(<span class="keyword">true</span>).canPerformAction(<span class="keyword">false</span>).setIsEvent(<span class="keyword">false</span>)</span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v83">Description:</h5>
<p><font color="#666"><b>Parameter: </b>Boolean<br><br> Whether to support DJI AirSense system. <br><br><code><i>Supported since MSDK 5.9.0</i></code></font></p>
</div>
<div class="api-row" id="key_flightcontroller_airsensesysteminformation"><div class="api-col left"></div><div class="api-col middle" style="color:#AAA"> </div><div class="api-col right"><a class="trigger" href="#key_flightcontroller_airsensesysteminformation_inline">KeyAirSenseSystemInformation</a></div></div><div class="inline-doc" id="key_flightcontroller_airsensesysteminformation_inline" <blockquote>
<div class="article"><h6><font color="#AAA">final </font>KeyAirSenseSystemInformation</h6></div>

<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">static</span> <span class="keyword">final</span> DJIKeyInfo&lt;AirSenseSystemInformation&gt; KeyAirSenseSystemInformation = <span class="keyword">new</span> DJIKeyInfo&lt;&gt;(componentType.value(),subComponentType.value(),<span class="string">"AirSenseSystemInformation"</span>, <span class="keyword">new</span> DJIValueConverter&lt;&gt;(AirSenseSystemInformation<span class="class">.<span class="keyword">class</span>)).<span class="title">canGet</span>(<span class="title">true</span>).<span class="title">canSet</span>(<span class="title">false</span>).<span class="title">canListen</span>(<span class="title">true</span>).<span class="title">canPerformAction</span>(<span class="title">false</span>).<span class="title">setIsEvent</span>(<span class="title">false</span>)</span></span><br></pre></td></tr></table></figure>
<html><table class="table-supportedby"><tr valign="top"><td width="15%"><font color="#999"><i>Package:</i></font></td><td width="85%"><font color="#999">dji.sdk.keyvalue.key</font></td></tr></table></html>
<h5 id="description-v84">Description:</h5>
<p><font color="#666"><b>Parameter: </b><code><a href="../../Components/IKeyManager/Value_FlightController_Struct_AirSenseSystemInformation.html#value_flightcontroller_struct_airsensesysteminformation">AirSenseSystemInformation</a></code><br><br> Gets information about the DJI AirSense system. Contains warning levels and detailed status of detected airplanes (Manned aircraft with AirSense system. For example, civil aircraft, helicopter and so on. It is referred to airplane.).<br> DJI AirSense only sends out warnings of nearby airplanes under certain circumstances. It will NOT control DJI aircraft to avoid other airplanes automatically. Make sure to fly with your DJI aircraft within visual line of sight at all times, and always fly with caution. After receiving warnings, lower your DJI aircraft to a safe height. In addition, DJI AirSense has the following limitations:<br> <li>DJI AirSense can only receive messages sent from airplane equipped with an ADS-B out device under 1090ES (RTCA DO-260) or UAT (RTCA Do-282) standards. For airplane without ADS-B outs or with malfunctioning ADS-B outs, DJI AirSense cannot receive related broadcasted messages or send out warnings.</li> <li>When there are obstacles between the airplane and DJI aircraft, DJI AirSense will fail to receive ADS-B messages sent from airplane or warnings.</li> <li>DJI AirSense may fail to receive ADS-B messages sent from airplane or send out warnings due to environmental changes and disturbances. It is highly recommended to fly with caution and stay aware of your surroundings during flight.</li> <li>DJI AirSense cannot send out warnings when the DJI aircraft cannot accurately determine its location.</li> <li>DJI AirSense cannot receive ADS-B messages sent from airplane or send out warnings when it is disabled or misconfigured.</li> <br><br><code><i>Supported since MSDK 5.5.0</i></code></font></p>
</div>

        </div>
      </div>
    </div>
    <div id="search-modal" class="search-modal modal fade">
      <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-header"><a href="javascript:;" @click="closeSearch" class="btn-close">×</a>
            <h2 class="title">Search Mobile SDK Document
            </h2>
            <input type="text" v-model="searchInput" @keydown.enter="search">
          </div>
          <div class="modal-body">
            <p v-show="!!searchCount" class="search-count"><span v-cloak>{{searchCount}}</span>&nbsp;Results
            </p>
            <ul v-show="!!searchCount" class="search-result">
              <li v-for="item in searchResult"><a v-bind:href="item.url | docUrl">
                  <h3 class="title">{{{(item.highlights && item.highlights.title) || item.title}}}</h3>
                  <p class="content">{{{(item.highlights && item.highlights.content[0]) || item.title}}}</p></a></li>
            </ul>
            <div v-show="showLoadMore" class="text-center"><a href="javascript:;" @click="loadMoreSearch" class="btn-learn-more">Load More</a></div>
            <div v-show="searchLoading" class="text-center">Loading...
            </div>
            <div v-show="!searchCount &amp;&amp; !searchLoading" class="text-center">Not Found
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
  <script type="text/javascript">
    window.Config = window.config = {
      sdk: "mobile-sdk",
      locale: "en",
      environment: "development",
      api_host: ""
    };
    
  </script>
  <!-- build:js /javascripts/doc-vendor.js-->
  <script src="../../javascripts/lib/jquery-2.1.4.min.js" type="text/javascript"></script>
  <script src="../../javascripts/lib/bootstrap.js" type="text/javascript"></script>
  <script src="../../javascripts/lib/vue.min.js" type="text/javascript"></script>
  <!-- endbuild-->
  <!-- build:js /javascripts/doc-app.js-->
  <script src="../../javascripts/util/cookie.js" type="text/javascript"></script>
  <script src="../../javascripts/util/url-manager.js" type="text/javascript"></script>
  <script src="../../javascripts/util/ajax-manager.js" type="text/javascript"></script>
  <script src="../../javascripts/base/footer.js" type="text/javascript"></script>
  <script src="../../javascripts/base/header.js" type="text/javascript"></script>
  <script src="../../javascripts/util/searcher.js" type="text/javascript"></script>
  <script src="../../javascripts/search_index.js" type="text/javascript"></script>
  <script src="../../javascripts/searchdoc.js" type="text/javascript"></script>
  <script src="../../javascripts/api.js" type="text/javascript"></script>
  <!-- endbuild-->
  <script type="text/javascript">
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','http://www.google-analytics.com/analytics.js','ga');
    ga('create', 'UA-43055594-1', 'auto');
    ga('send', 'pageview');
  </script>
</body>